动态识别Jenkins构建

时间:2013-01-01 23:55:10

标签: bash build jenkins continuous-integration

目前,我通过从shell脚本向Jenkins发布一些参数来启动构建。我需要检查构建是成功还是失败,我想避免使用post build Jenkins脚本调用(我不希望Jenkins在我的服务器上启动任何脚本的运行),所以想法是发布到Jenkins每10秒左右(在构建时!= false)以获取具有各种构建参数的JSON对象。如果我知道我要检查的构建版本号,这工作正常,我似乎无法看到动态跟踪当前构建号的好方法,并确保我的脚本正在检查构建它刚刚启动而不是其他正在运行的构建。

潜在地,可能会在短时间内启动多个构建,因此在开始构建之后发布到jenkins/job/my_build_job/lastBuild/api/json并检查该方式的数量在竞赛情况下出现问题似乎不合适。

如何从我服务器上的脚本动态跟踪特定构建,以检查从cron调用的帖子发起的构建成功或失败?是否有可能为构建命名,以便我可以使用BUILD_NAME启动它,然后发布到jenkins/job/my_build_job/BUILD_NAME/api/json

2 个答案:

答案 0 :(得分:0)

您可以进行几种不同的API调用:

jenkins/job/my_build_job/api/json?tree=lastBuild[number] 

将为您提供上次完成的构建或当前正在构建的构建

jenkins/job/my_build_job/api/json?tree=nextBuildNumber

将为您提供下一个构建号 - 这包括排队等待资源的构建。

答案 1 :(得分:0)

在Jenkins中已经存在一个问题,即在Jenkins远程API调用中返回内部版本号:https://issues.jenkins-ci.org/browse/JENKINS-12827。请在那里添加评论,以便尽快处理。