我在Jenkins有大约30个工作,我需要将最后一个成功的构建版本发送给部署团队大约每天3-4次。这是一个耗时的任务,我希望自动化。
是否有脚本可以检索每个作业的最新成功修订以及日期和时间,并将该信息发送到一个整合的电子邮件中?
发布于 2017-04-22 15:15:49
您可以使用“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) }
发布于 2017-04-22 23:00:49
如果您只是想为他们提供作业的最后一个成功的内部版本号,只需使用rest 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 (从rest API),这样您就不需要时不时地收集这些信息。
https://stackoverflow.com/questions/43489292
复制相似问题