{"id":1517,"date":"2021-07-30T17:28:33","date_gmt":"2021-07-30T09:28:33","guid":{"rendered":"https:\/\/egonlin.com\/?p=1517"},"modified":"2021-07-30T17:29:46","modified_gmt":"2021-07-30T09:29:46","slug":"jenkins%e5%8f%98%e9%87%8f","status":"publish","type":"post","link":"https:\/\/egonlin.com\/?p=1517","title":{"rendered":"jenkins\u53d8\u91cf"},"content":{"rendered":"<h3>1\u3001WORKSPACE\uff1a\u5de5\u4f5c\u533a<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524dJob\u6784\u5efa\u76ee\u5f55\u7684\u7edd\u5bf9\u8def\u5f84<\/code><\/pre>\n<h3>2\u3001SVN_REVISION\uff1aSVN\u7248\u672c<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524d\u5de5\u4f5c\u533a\u7684Subversion\u7248\u672c\u53f7\uff1b<\/code><\/pre>\n<h3>3\u3001SVN_URL<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524d\u5de5\u4f5c\u533a\u7684Svn URL<\/code><\/pre>\n<h3>4\u3001BUILD_NUMBER\uff1a\u6784\u5efa\u7f16\u53f7<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524d\u6784\u5efa\u7684\u7f16\u53f7\uff0c\u4f8b\u5982\u201c4674\u201d\u7b49<\/code><\/pre>\n<h3>5\u3001BUILD_ID\uff1a\u6784\u5efaID<\/h3>\n<pre><code class=\"language-bash\">\u4e0e\u6784\u5efa\u7684BUILD_NUMBER\u76f8\u540c<\/code><\/pre>\n<h3>6\u3001BUILD_DISPLAY_NAME<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524d\u7248\u672c\u7684\u663e\u793a\u540d\u79f0\uff0c\u9ed8\u8ba4\u4e3a\u201c# 4674\u201d\uff0c\u5373BUILD_NUMBER\uff1b<\/code><\/pre>\n<h3>7\u3001JOB_NAME\uff1a\u9879\u76ee\u540d\u79f0<\/h3>\n<pre><code class=\"language-bash\">\u5373\u6b64\u7248\u672c\u7684\u9879\u76ee\u540d\u79f0\uff0c\u4f8b\u5982\u201cfoo\u201d\u6216\u201cfoo \/ bar\u201d\uff1b<\/code><\/pre>\n<h3>8\u3001JENKINS_HOME<\/h3>\n<pre><code class=\"language-bash\">Jenkins\u7528\u4e8e\u5b58\u50a8\u6570\u636e\u7684\u4e3b\u8282\u70b9\u4e0a\u5206\u914d\u7684\u76ee\u5f55\u7684\u7edd\u5bf9\u8def\u5f84\uff1b<\/code><\/pre>\n<h3>9\u3001JENKINS_URL\uff1aJenkins\u7684\u5b8c\u6574URL<\/h3>\n<pre><code class=\"language-bash\">\u5982http\uff1a\/\/ server\uff1aport \/ jenkins \/\uff08\u6ce8\u610f\uff1a\u4ec5\u5728\u7cfb\u7edf\u914d\u7f6e\u4e2d\u8bbe\u7f6eJenkins URL\u65f6\u53ef\u7528\uff09\uff1b<\/code><\/pre>\n<h3>10\u3001BUILD_URL\uff1a\u6b64\u7248\u672c\u7684\u5b8c\u6574URL<\/h3>\n<pre><code class=\"language-bash\">\u4f8b\u5982http\uff1a\/\/ server\uff1aport \/ jenkins \/ job \/ foo \/ 15 \/\uff08\u5fc5\u987b\u8bbe\u7f6eJenkins URL\uff09<\/code><\/pre>\n<h3>11\u3001JOB_URL\uff1a\u8be5\u9879\u76ee\u7684\u5b8c\u6574URL\uff0c<\/h3>\n<pre><code class=\"language-bash\">\u4f8b\u5982http\uff1a\/\/ server\uff1aport \/ jenkins \/ job \/ foo \/\uff08\u5fc5\u987b\u8bbe\u7f6eJenkins URL)<\/code><\/pre>\n<h3>12\u3001BRANCH_NAME<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u6b63\u5728\u6784\u5efa\u7684\u5206\u652f\u7684\u540d\u79f0\uff0c\n\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u5e0c\u671b\u4ecemaster\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\u800c\u4e0d\u662f\u4ecefeature\u5206\u652f\u90e8\u7f72\uff1b\u5982\u679c\u5bf9\u5e94\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\uff0c\u5219\u8be5\u540d\u79f0\u901a\u5e38\u662f\u4efb\u610f\u7684\uff08\u8bf7\u53c2\u9605\u4e0b\u9762\u7684CHANGE_ID\u548cCHANGE_TARGET\uff09<\/code><\/pre>\n<h3>13\u3001CHANGE_ID<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u66f4\u6539ID\uff0c\u4f8b\u5982\u62c9\u53d6\u8bf7\u6c42\u7f16\u53f7\uff08\u5982\u679c\u652f\u6301\uff09;\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>14\u3001CHANGE_URL<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u66f4\u6539URL(\u5982\u679c\u652f\u6301)\uff1b\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>15\u3001CHANGE_TITLE<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u66f4\u6539\u7684\u6807\u9898\uff08\u5982\u679c\u652f\u6301\uff09;\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>16\u3001CHANGE_AUTHOR<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u5efa\u8bae\u66f4\u6539\u7684\u4f5c\u8005\u7684\u7528\u6237\u540d\uff08\u5982\u679c\u652f\u6301\uff09;\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>17\u3001CHANGE_AUTHOR_DISPLAY_NAME\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u5efa\u8bae\u66f4\u6539\u7684\u4f5c\u8005\u7684\u4eba\u540d\uff08\u5982\u679c\u652f\u6301\uff09;\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>18\u3001CHANGE_AUTHOR_EMAIL\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u5efa\u8bae\u66f4\u6539\u7684\u4f5c\u8005\u7684Email\u5730\u5740\uff08\u5982\u679c\u652f\u6301\uff09;\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>19\u3001CHANGE_TARGET\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5bf9\u4e8e\u4e0e\u67d0\u79cd\u66f4\u6539\u8bf7\u6c42\u76f8\u5bf9\u5e94\u7684\u591a\u5206\u652f\u9879\u76ee\uff0c\u8fd9\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u5408\u5e76\u5230\u7684\u76ee\u6807\u6216\u8005\u57fa\u7840\u5206\u652f\uff08\u5982\u679c\u652f\u6301\uff09;\u5176\u4ed6\u672a\u8bbe\u7f6e\uff1b<\/code><\/pre>\n<h3>20\u3001JOB_BASE_NAME\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u6b64\u6784\u5efa\u7684\u9879\u76ee\u7684\u77ed\u540d\u79f0\u5265\u79bb\u6587\u4ef6\u5939\u8def\u5f84\uff0c\u4f8b\u5982\u201cbar \/ foo\u201d\u7684\u201cfoo\u201d\uff1b<\/code><\/pre>\n<h3>21\u3001BUILD_TAG\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u201cjenkins - $ {JOB_NAME} - $ {BUILD_NUMBER}\u201d\u7684\u5b57\u7b26\u4e32\u3002 JOB_NAME\u4e2d\u7684\u6240\u6709\u6b63\u659c\u6760\uff08\/\uff09\u90fd\u7528\u7834\u6298\u53f7\uff08 - \uff09\u66ff\u6362\u3002\u65b9\u4fbf\u5730\u653e\u5165\u8d44\u6e90\u6587\u4ef6\uff0cjar\u6587\u4ef6\u7b49\uff0c\u4ee5\u4fbf\u4e8e\u8bc6\u522b\u3002<\/code><\/pre>\n<h3>22\u3001EXECUTOR_NUMBER\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u552f\u4e00\u7f16\u53f7\uff0c\u7528\u4e8e\u6807\u8bc6\u6267\u884c\u6b64\u6784\u5efa\u7684\u5f53\u524d\u6267\u884c\u7a0b\u5e8f\uff08\u5728\u540c\u4e00\u53f0\u8ba1\u7b97\u673a\u7684\u6267\u884c\u7a0b\u5e8f\u4e2d\uff09\u3002\u8fd9\u662f\u60a8\u5728\u201c\u6784\u5efa\u6267\u884c\u7a0b\u5e8f\u72b6\u6001\u201d\u4e2d\u770b\u5230\u7684\u6570\u5b57\uff0c\u4f46\u6570\u5b57\u4ece0\u5f00\u59cb\uff0c\u800c\u4e0d\u662f\u4ece1\u5f00\u59cb\u3002<\/code><\/pre>\n<h3>23\u3001NODE_NAME\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5982\u679c\u6784\u5efa\u5728\u4ee3\u7406\u4e0a\uff0c\u5219\u4ee3\u7406\u7684\u540d\u79f0; \u5982\u679c\u5728\u4e3b\u7248\u672c\u4e0a\u8fd0\u884c\uff0c\u5219\u4e3a\u201cMASTER\u201d\uff1b<\/code><\/pre>\n<h3>24\u3001NODE_LABELS\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u8282\u70b9\u5206\u914d\u7684\u7a7a\u767d\u5206\u9694\u7684\u6807\u7b7e\u5217\u8868\u3002<\/code><\/pre>\n<h3>25\u3001GIT_COMMIT<\/h3>\n<pre><code class=\"language-bash\">git\u63d0\u4ea4\u7684hash\u7801<\/code><\/pre>\n<h3>26\u3001GIT_PREVIOUS_COMMIT\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524d\u5206\u652f\u4e0a\u6b21\u63d0\u4ea4\u7684hash\u7801<\/code><\/pre>\n<h3>27\u3001GIT_PREVIOUS_SUCCESSFUL_COMMIT\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5f53\u524d\u5206\u652f\u4e0a\u6b21\u6210\u529f\u6784\u5efa\u65f6\u63d0\u4ea4\u7684hash\u7801<\/code><\/pre>\n<h3>28\u3001GIT_BRANCH<\/h3>\n<pre><code class=\"language-bash\">\u8fdc\u7a0b\u5206\u652f\u540d\u79f0\uff0c\u5982\u679c\u6709\u7684\u8bdd\uff1b<\/code><\/pre>\n<h3>29\u3001GIT_LOCAL_BRANCH<\/h3>\n<pre><code class=\"language-bash\">\u672c\u5730\u5206\u652f\u540d\u79f0\uff0c\u5982\u679c\u6709\u7684\u8bdd\uff1b<\/code><\/pre>\n<h3>30\u3001GIT_URL\uff1a\u8fdc\u7a0bgit\u4ed3\u5e93\u7684URL\u3002<\/h3>\n<pre><code class=\"language-bash\">\u5982\u679c\u6709\u591a\u4e2a\uff0c\u5c06\u4f1a\u662fGIT_URL_1\uff0cGIT_URL_2\u7b49\uff1b<\/code><\/pre>\n<h3>31\u3001GIT_COMMITTER_NAME<\/h3>\n<pre><code class=\"language-bash\">\u914d\u7f6e\u7684Git\u63d0\u4ea4\u8005\u540d\u79f0\uff08\u5982\u679c\u6709\u7684\u8bdd\uff09<\/code><\/pre>\n<h3>32\u3001GIT_AUTHOR_NAME\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u914d\u7f6e\u7684Git\u4f5c\u8005\u59d3\u540d\uff08\u5982\u679c\u6709\u7684\u8bdd\uff09<\/code><\/pre>\n<h3>33\u3001GIT_COMMITTER_EMAIL<\/h3>\n<pre><code class=\"language-bash\">\u914d\u7f6e\u7684Git\u63d0\u4ea4\u8005\u7535\u5b50\u90ae\u4ef6\uff08\u5982\u679c\u6709\u7684\u8bdd\uff09<\/code><\/pre>\n<h3>34\u3001GIT_AUTHOR_EMAIL\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5df2\u914d\u7f6e\u7684Git\u4f5c\u8005\u7535\u5b50\u90ae\u4ef6\uff08\u5982\u679c\u6709\uff09<\/code><\/pre>\n<h3>35\u3001JOB_DESCRIPTION\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u9879\u76ee\u63cf\u8ff0\uff1b<\/code><\/pre>\n<h3>36\u3001CAUSE\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u8c01\u3001\u901a\u8fc7\u4ec0\u4e48\u6e20\u9053\u89e6\u53d1\u8fd9\u6b21\u6784\u5efa\uff1b<\/code><\/pre>\n<h3>37\u3001CHANGES<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u4e0a\u4e00\u6b21\u6784\u5efa\u4e4b\u540e\u7684\u53d8\u5316\n    showPaths \u5982\u679c\u4e3a true,\u663e\u793a\u63d0\u4ea4\u4fee\u6539\u540e\u7684\u5730\u5740\u3002\u9ed8\u8ba4false\u3002\n    showDependencies \u5982\u679c\u4e3atrue\uff0c\u663e\u793a\u9879\u76ee\u6784\u5efa\u4f9d\u8d56\u3002\u9ed8\u8ba4\u4e3afalse\n    format \u904d\u5386\u63d0\u4ea4\u4fe1\u606f\uff0c\u4e00\u4e2a\u5305\u542b%X\u7684\u5b57\u7b26\u4e32\uff0c\u5176\u4e2d%a\u8868\u793a\u4f5c\u8005\uff0c%d\u8868\u793a\u65e5\u671f\uff0c%m\u8868\u793a\u6d88\u606f\uff0c%p\u8868\u793a\u8def\u5f84\uff0c%r\u8868\u793a\u7248\u672c\u3002\u6ce8\u610f\uff0c\u5e76\u4e0d\u662f\u6240\u6709\u7684\u7248\u672c\u7cfb\u7edf\u90fd\u652f\u6301%d\u548c%r\u3002\u5982\u679c\u6307\u5b9ashowPaths\u5c06\u88ab\u5ffd\u7565\u3002\u9ed8\u8ba4\u201c[%a] %m\\\\n\u201d\u3002\n    pathFormat \u4e00\u4e2a\u5305\u542b\u201c%p\u201d\u7684\u5b57\u7b26\u4e32\uff0c\u7528\u6765\u6807\u793a\u600e\u4e48\u6253\u5370\u8def\u5f84\u3002<\/code><\/pre>\n<h3>38\u3001PROJECT_NAME\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u9879\u76ee\u7684\u5168\u540d<\/code><\/pre>\n<h3>39\u3001PROJECT_DISPLAY_NAME\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u9879\u76ee\u7684\u663e\u793a\u540d\u79f0\u3002\uff08\u89c1AbstractProject.getDisplayName\uff09<\/code><\/pre>\n<h3>40\u3001SCRIPT\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u4ece\u4e00\u4e2a\u811a\u672c\u751f\u6210\u81ea\u5b9a\u4e49\u6d88\u606f\u5185\u5bb9\u3002\u81ea\u5b9a\u4e49\u811a\u672c\u5e94\u8be5\u653e\u5728&quot;$JENKINS_HOME\/email-templates&quot;\u3002\u5f53\u4f7f\u7528\u81ea\u5b9a\u4e49\u811a\u672c\u65f6\u4f1a\u9ed8\u8ba4\u641c\u7d22$JENKINS_HOME\/email-templatesdirectory\u76ee\u5f55\u3002\u5176\u4ed6\u7684\u76ee\u5f55\u5c06\u4e0d\u4f1a\u88ab\u641c\u7d22\u3002\n    script \u5f53\u5176\u4f7f\u7528\u7684\u65f6\u5019\uff0c\u4ec5\u4ec5\u53ea\u6709\u6700\u540e\u4e00\u4e2a\u503c\u4f1a\u88ab\u811a\u672c\u4f7f\u7528\uff08\u4e0d\u80fd\u540c\u65f6\u4f7f\u7528script\u548ctemplate\uff09\u3002\n    template\u5e38\u89c4\u7684simpletemplateengine\u683c\u5f0f\u6a21\u677f\u3002<\/code><\/pre>\n<h3>41.BUILD_LOG_MULTILINE_REGEX\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u6309\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d\u5e76\u663e\u793a\u6784\u5efa\u65e5\u5fd7\u3002\n    regex java.util.regex.Pattern \u751f\u6210\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d\u7684\u6784\u5efa\u65e5\u5fd7\u3002\u65e0\u9ed8\u8ba4\u503c\uff0c\u53ef\u4e3a\u7a7a\u3002\n    maxMatches \u5339\u914d\u7684\u6700\u5927\u6570\u91cf\u3002\u5982\u679c\u4e3a0\uff0c\u5c06\u5339\u914d\u6240\u6709\u3002\u9ed8\u8ba4\u4e3a0\u3002\n    showTruncatedLines \u5982\u679c\u4e3atrue\uff0c\u5305\u542b[...truncated ### lines...]\u884c\u3002\u9ed8\u8ba4\u4e3atrue\u3002\n    substText \u5982\u679c\u975e\u7a7a\uff0c\u5c31\u628a\u8fd9\u90e8\u5206\u6587\u5b57\uff08\u800c\u4e0d\u662f\u6574\u884c\uff09\u63d2\u5165\u8be5\u90ae\u4ef6\u3002\u9ed8\u8ba4\u4e3a\u7a7a\u3002\n    escapeHtml \u5982\u679c\u4e3atrue\uff0c\u683c\u5f0f\u5316HTML\u3002\u9ed8\u8ba4\u4e3afalse\u3002\n    matchedSegmentHtmlStyle \u5982\u679c\u975e\u7a7a\uff0c\u8f93\u51faHTML\u3002\u5339\u914d\u7684\u884c\u6570\u5c06\u53d8\u4e3a&lt;b style=&quot;your-style-value&quot;&gt; html escaped matched line &lt;\/b&gt;\u683c\u5f0f\u3002\u9ed8\u8ba4\u4e3a\u7a7a\u3002<\/code><\/pre>\n<h3>42\u3001BUILD_LOG\uff1a\u663e\u793a\u6700\u7ec8\u6784\u5efa\u65e5\u5fd7\u3002<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u6700\u7ec8\u6784\u5efa\u65e5\u5fd7\u3002\n    maxLines \u65e5\u5fd7\u6700\u591a\u663e\u793a\u7684\u884c\u6570\uff0c\u9ed8\u8ba4250\u884c\u3002\n    escapeHtml \n        true:\u683c\u5f0f\u5316HTML\u3002\n        false:\u9ed8\u8ba4\uff0c\u4e0d\u683c\u5f0f\u5316<\/code><\/pre>\n<h3>43\u3001PROJECT_URL\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u9879\u76ee\u7684URL\u5730\u5740\u3002<\/code><\/pre>\n<h3>44\u3001BUILD_STATUS\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u5f53\u524d\u6784\u5efa\u7684\u72b6\u6001(\u5931\u8d25\u3001\u6210\u529f\u7b49\u7b49)<\/code><\/pre>\n<h3>45\u3001BUILD_URL\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u5f53\u524d\u6784\u5efa\u7684URL\u5730\u5740\u3002<\/code><\/pre>\n<h3>46\u3001CHANGES_SINCE_LAST_SUCCESS\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u4e0a\u4e00\u6b21\u6210\u529f\u6784\u5efa\u4e4b\u540e\u7684\u53d8\u5316\u3002\n    reverse\u5728\u9876\u90e8\u6807\u793a\u65b0\u8fd1\u7684\u6784\u5efa\u3002\n        true\n        false(\u9ed8\u8ba4)\n    format\u904d\u5386\u6784\u5efa\u4fe1\u606f\uff0c\u4e00\u4e2a\u5305\u542b%X\u7684\u5b57\u7b26\u4e32\uff0c\u5176\u4e2d%c\u4e3a\u6240\u6709\u7684\u6539\u53d8\uff0c%n\u4e3a\u6784\u5efa\u7f16\u53f7\u3002\u9ed8\u8ba4\u201dChanges for Build #%n\\n%c\\n\u201d\u3002\n    showPaths,changesFormat,pathFormat\u5206\u522b\u5b9a\u4e49\u5982${CHANGES}\u7684showPaths\u3001format\u548cpathFormat\u53c2\u6570\u3002<\/code><\/pre>\n<h3>47\u3001CHANGES_SINCE_LAST_UNSTABLE\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u663e\u793a\u4e0a\u4e00\u6b21\u4e0d\u7a33\u56fa\u6216\u8005\u6210\u529f\u7684\u6784\u5efa\u4e4b\u540e\u7684\u53d8\u5316\u3002\n    reverse\u5728\u9876\u90e8\u6807\u793a\u65b0\u8fd1\u7684\u6784\u5efa\u3002\u9ed8\u8ba4false\u3002\n    format\u904d\u5386\u6784\u5efa\u4fe1\u606f\uff0c\u4e00\u4e2a\u5305\u542b%X\u7684\u5b57\u7b26\u4e32\uff0c\u5176\u4e2d%c\u4e3a\u6240\u6709\u7684\u6539\u53d8\uff0c%n\u4e3a\u6784\u5efa\u7f16\u53f7\u3002\u9ed8\u8ba4\u201dChanges for Build #%n\\n%c\\n\u201d\u3002\n    showPaths,changesFormat,pathFormat\u5206\u522b\u5b9a\u4e49\u5982${CHANGES}\u7684showPaths\u3001format\u548cpathFormat\u53c2\u6570\u3002<\/code><\/pre>\n<h3>48\u3001ENV\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u3002\n    var\u2013 \u663e\u793a\u8be5\u73af\u5883\u53d8\u91cf\u7684\u540d\u79f0\u3002\u5982\u679c\u4e3a\u7a7a\uff0c\u663e\u793a\u6240\u6709\uff0c\u9ed8\u8ba4\u4e3a\u7a7a\u3002<\/code><\/pre>\n<h3>49\u3001FAILED_TESTS\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u5982\u679c\u6709\u5931\u8d25\u7684\u6d4b\u8bd5\uff0c\u663e\u793a\u8fd9\u4e9b\u5931\u8d25\u7684\u5355\u5143\u6d4b\u8bd5\u4fe1\u606f\u3002<\/code><\/pre>\n<h3>50\u3001HUDSON_URL\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u4e0d\u63a8\u8350\uff0c\u8bf7\u4f7f\u7528$JENKINS_URL<\/code><\/pre>\n<h3>51\u3001JELLY_SCRIPT\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u4ece\u4e00\u4e2aJelly\u811a\u672c\u6a21\u677f\u4e2d\u81ea\u5b9a\u4e49\u6d88\u606f\u5185\u5bb9\u3002\u6709\u4e24\u79cd\u6a21\u677f\u53ef\u4f9b\u914d\u7f6e\uff1aHTML\u548cTEXT\u3002\u4f60\u53ef\u4ee5\u5728$JENKINS_HOME\/email-templates\u4e0b\u81ea\u5b9a\u4e49\u66ff\u6362\u5b83\u3002\u5f53\u4f7f\u7528\u81ea\u52a8\u4e49\u6a21\u677f\u65f6\uff0c\u201dtemplate\u201d\u53c2\u6570\u7684\u540d\u79f0\u4e0d\u5305\u542b\u201c.jelly\u201d\u3002<\/code><\/pre>\n<h3>52\u3001TEST_COUNTS\uff1a<\/h3>\n<pre><code class=\"language-bash\">\u663e\u793a\u6d4b\u8bd5\u7684\u6570\u91cf\u3002\n    var\u2013 \u9ed8\u8ba4\u201ctotal\u201d\u3002         ${TEST_COUNTS,var=&quot;fail&quot;}\n        total -\u6240\u6709\u6d4b\u8bd5\u7684\u6570\u91cf\u3002\n        fail -\u5931\u8d25\u6d4b\u8bd5\u7684\u6570\u91cf\u3002\n        skip -\u8df3\u8fc7\u6d4b\u8bd5\u7684\u6570\u91cf\u3002<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001WORKSPACE\uff1a\u5de5\u4f5c\u533a \u5f53\u524dJob\u6784\u5efa\u76ee\u5f55\u7684\u7edd\u5bf9\u8def\u5f84 2\u3001SVN_REVISION\uff1aSVN\u7248\u672c \u5f53\u524d\u5de5 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[174],"tags":[178,179,181,182,183,19,22,180,20],"_links":{"self":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/1517"}],"collection":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1517"}],"version-history":[{"count":0,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/1517\/revisions"}],"wp:attachment":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}