如何在构建名称中使用构建原因?
How to use the build cause in build name?
当我使用 API 远程触发作业时,jenkins 上的作业说:"Started by remote host IP"。但是我的工作可能会因不同的原因和不同的来源而触发,所以如果我在 Jenkins 中可以查看工作并直接看到触发原因,那就太好了。
我知道我可以传递一个字符串参数,然后在每个作业中查看参数 - 但这不是很明显。我希望最好在所有工作列表中看到它。类似于:Reason: X Source: N
.
有什么办法吗?
我注意到我们的发布作业采用了一个显示我想要的版本参数 - 但我不想滥用它,因为这些运行不是发布。
版本名称
我想你想像这里一样将构建名称设置为不同的名称:
因此您可以使用 Build Name Setter Plugin 并使用构建步骤 更新构建名称。
对于您的情况,您可以使用:
#${BUILD_NUMBER} ${BUILD_CAUSE}
事业徽章
查看Build Trigger Badge Plugin,它用图标表示构建的原因。
提取作业原因
提取作业原因的一种可能性是使用 groovy,currentBuild 被注入运行时并包含有关原因等的信息。
这会打印第一个 (!) 原因:
println ("Cause: " + currentBuild.causes[0])
不幸的是,即使激活了 Build Trigger Badge Plugin http://<Your Jenkins>/job/<Your job's name>/api/xml
也没有显示触发原因。
您可以将作业的 HTML 解析为:
<div class="middle-align build-badge" style="width: 100%;">
<img width="16" height="16" src="/plugin/buildtriggerbadge/images/user-cause.png"
alt="Trigger UserIdCause : Started by user YourUser" title="Started by user YourUser">
</div>
另见 EnvInject Plugin:
This plugin also exposes the cause of the current build as an environment variable.
当我使用 API 远程触发作业时,jenkins 上的作业说:"Started by remote host IP"。但是我的工作可能会因不同的原因和不同的来源而触发,所以如果我在 Jenkins 中可以查看工作并直接看到触发原因,那就太好了。
我知道我可以传递一个字符串参数,然后在每个作业中查看参数 - 但这不是很明显。我希望最好在所有工作列表中看到它。类似于:Reason: X Source: N
.
有什么办法吗?
我注意到我们的发布作业采用了一个显示我想要的版本参数 - 但我不想滥用它,因为这些运行不是发布。
版本名称
我想你想像这里一样将构建名称设置为不同的名称:
因此您可以使用 Build Name Setter Plugin 并使用构建步骤 更新构建名称。
对于您的情况,您可以使用:
#${BUILD_NUMBER} ${BUILD_CAUSE}
事业徽章
查看Build Trigger Badge Plugin,它用图标表示构建的原因。
提取作业原因
提取作业原因的一种可能性是使用 groovy,currentBuild 被注入运行时并包含有关原因等的信息。
这会打印第一个 (!) 原因:
println ("Cause: " + currentBuild.causes[0])
不幸的是,即使激活了 Build Trigger Badge Plugin http://<Your Jenkins>/job/<Your job's name>/api/xml
也没有显示触发原因。
您可以将作业的 HTML 解析为:
<div class="middle-align build-badge" style="width: 100%;">
<img width="16" height="16" src="/plugin/buildtriggerbadge/images/user-cause.png"
alt="Trigger UserIdCause : Started by user YourUser" title="Started by user YourUser">
</div>
另见 EnvInject Plugin:
This plugin also exposes the cause of the current build as an environment variable.