【发布时间】:2013-08-14 17:40:51
【问题描述】:
我知道我可以致电 localhost/job/RSpec/lastBuild/api/json 来获取最新 Jenkins 构建的状态。但是,由于我们的构建运行时间很长(几个小时),我对最后一个完成构建状态的兴趣比此时正在运行的运行更感兴趣.
最后一次完全运行的构建是否有 api 端点?还是我应该拉取完整的构建列表并从那里选择倒数第二个?
【问题讨论】:
我知道我可以致电 localhost/job/RSpec/lastBuild/api/json 来获取最新 Jenkins 构建的状态。但是,由于我们的构建运行时间很长(几个小时),我对最后一个完成构建状态的兴趣比此时正在运行的运行更感兴趣.
最后一次完全运行的构建是否有 api 端点?还是我应该拉取完整的构建列表并从那里选择倒数第二个?
【问题讨论】:
试试 http://$host/job/$jobname/lastSuccessfulBuild/api/json
Jenkins(和 Hudson)公开了多个不同的构建,例如 lastBuild, lastStableBuild, lastSuccessfulBuild, lastFailedBuild, lastUnstableBuild, lastUnsuccessfulBuild, lastCompletedBuild。
【讨论】:
要获得最后一个成功的内部版本号:
curl --user <userName:password> https://<url>/job/<job-Name>/api/xml?xpath=/*/lastSuccessfulBuild/number
【讨论】:
JenkinsAPI 也是一个不错的选择。我主要使用python,所以这是我的版本:
pip install jenkinsapifrom jenkinsapi.jenkins import Jenkins
server = Jenkins(<Jenkins server URL>)
job = server.get_job(<job name>)
last_successful_build_number = job.get_last_good_buildnumber()
【讨论】: