Jenkins通过电子邮件发送的最后成功内部版本号

时间:2017-04-19 07:31:28

标签: jenkins groovy

我在Jenkins有大约30个Jobs,我需要每天大约3-4次向部署团队发送最后一个成功的构建版本。这是一项耗时的任务,我希望自动完成。

是否有一个脚本可以检索每个作业的最后一次成功修订以及日期和时间,并将该信息发送到一个合并的电子邮件中?

2 个答案:

答案 0 :(得分:0)

您可以使用'build'对象的'changeSet'来获取'revision'号,下面是脚本控制台中执行的代码,用于获取'changeSet'以及获取'revision'号。

import jenkins.model.Jenkins
def item = Jenkins.instance.getItemByFullName("fullJobName") 
def lastFailedBuild = item.getLastFailedBuild() 
def lastSuccessfulBuild = item.getLastSuccessfulBuild() 
lastFailedBuild.changeSet.each() { println(it.revision) }
lastSuccessfulBuild.changeSet.each() { println(it.revision) }

答案 1 :(得分:0)

如果您只是想为他们提供作业的最后一个成功的内部版本号,请使用其余的API为他们提供一个URL:

http://localhost:8090/jenkins/job/some-folder/job/some-other-folder/job/some-job / API / XML?的xpath = workflowJob / lastSuccessfulBuild

请注意,您只需将此附加到您的网址作业: / api / xml?xpath = workflowJob / lastSuccessfulBuild ,如果有效,请告诉我们。

也许你可以为你感兴趣的所有工作生成XML(从其他API)生成一份工作,这样你就不需要时间收集这些信息。