【问题标题】:Jenkins - Get last completed build statusJenkins - 获取最后完成的构建状态
【发布时间】:2013-08-14 17:40:51
【问题描述】:

我知道我可以致电 localhost/job/RSpec/lastBuild/api/json 来获取最新 Jenkins 构建的状态。但是,由于我们的构建运行时间很长(几个小时),我对最后一个完成构建状态的兴趣比此时正在运行的运行更感兴趣.

最后一次完全运行的构建是否有 api 端点?还是我应该拉取完整的构建列表并从那里选择倒数第二个?

【问题讨论】:

    标签: api jenkins


    【解决方案1】:

    试试 http://$host/job/$jobname/lastSuccessfulBuild/api/json

    Jenkins(和 Hudson)公开了多个不同的构建,例如 lastBuild, lastStableBuild, lastSuccessfulBuild, lastFailedBuild, lastUnstableBuild, lastUnsuccessfulBuild, lastCompletedBuild

    【讨论】:

    • 想知道是否有办法对视图中的所有作业执行此操作。
    • 是的@SteventheEasilyAmused,只需.../job/$jobname/api/json?depth=2
    • 注意:至少从 Jenkins 2.263.3 开始,如果 $jobname 从未成功构建,此 API 端点将返回 HTML 404 错误页面
    【解决方案2】:

    要获得最后一个成功的内部版本号:

    curl --user <userName:password> https://<url>/job/<job-Name>/api/xml?xpath=/*/lastSuccessfulBuild/number
    

    【讨论】:

      【解决方案3】:

      JenkinsAPI 也是一个不错的选择。我主要使用python,所以这是我的版本:

      1. pip install jenkinsapi
      2. python 代码:(在我的情况下,不需要对 Jenkins 进行特殊身份验证,否则我假设需要令牌)
      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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多