我知道我可以打电话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 jenkinsapi
from jenkinsapi.jenkins import Jenkins
server = Jenkins(<Jenkins server URL>)
job = server.get_job(<job name>)
last_successful_build_number = job.get_last_good_buildnumber()