如何在构建名称中使用构建原因?

时间:2016-06-02 11:16:58

标签: jenkins jenkins-plugins

当我使用API​​远程触发作业时,jenkins上的作业说:"由远程主机IP"启动。但是我的工作可以由于不同的原因和来自不同的来源而触发,所以如果我在詹金斯看到工作并直接看到触发原因那就太棒了。

我知道我可以传递一个字符串参数,然后在每个作业中查看参数 - 但这不是很明显。我希望最好在所有工作列表中看到它。类似于:Reason: X Source: N

有没有办法做到这一点?

我注意到我们的发布作业采用了我想要的版本参数 - 但我不想滥用它,因为这些版本不是版本。

2 个答案:

答案 0 :(得分:4)

构建名称

我认为您希望将构建名称设置为不同的构建名称,如下所示:

enter image description here

因此,您可以使用Build Name Setter Plugin并使用构建步骤更新构建名称

对于您的情况,您可以使用:

#${BUILD_NUMBER} ${BUILD_CAUSE}

原因徽章

查看Build Trigger Badge Plugin,它用图标表示构建的原因。

enter image description here

提取工作原因

提取作业原因的一种可能性是使用groovy,将currentBuild注入运行时并包含有关原因的信息等。

这会打印第一个(!)原因:

println ("Cause: " + currentBuild.causes[0])

答案 1 :(得分:0)

不幸的是,即使使用Build Trigger Badge插件激活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

  

此插件还将当前构建的原因公开为环境变量。