【问题标题】:How to retrieve all previous builds for a Jenkins job through the API?如何通过 API 检索 Jenkins 作业的所有先前构建?
【发布时间】:2018-02-22 06:48:23
【问题描述】:

我正在构建一个 python 脚本来提取 Jenkins 作业的构建历史数据。我已经成功地使用 Requests 库来检索 json 输出、输入数据框并进行报告。

我注意到它只提取最后 100 个构建,这看起来像是默认值。我正在使用基本的 curl 调用进行测试,该调用可以很好地检索最后 100 个,以查看如何检索所有构建。我一直在搜索谷歌,发现一个说要添加 fetch_all_builds=True,但仍然只有 100 个。

有谁知道我如何通过 API 调用从作业中请求所有构建?

谢谢

【问题讨论】:

    标签: python jenkins jenkins-api


    【解决方案1】:

    添加tree=allBuilds 会给你想要的。

    <JENKINS URL>/job/<Job Name>/api/json?tree=allBuilds[*]&depth=2
    

    这是 API 调用 URL。

    【讨论】:

    • 感谢您的回复。我该如何增加深度呢?我试过..../api/json?tree=allBuilds&amp;depth=2,但没用。
    • 其实我忘了在网址中提到[*]。如果这样做,您将获得所有带有数据的构建。您可以使用tree=allBuilds[id,queueId] 指定要返回的键。
    • @miwiwa 这行得通吗?它肯定有效。因为我用的是一样的。您是否遇到任何错误或您想提及的任何内容?如果一切正常,请接受某人的回答,以便关闭此线程。
    • 我收到{ _class: "com.cloudbees.hudson.plugins.folder.Folder" }
    • 使用 'tree=allBuilds[*]&depth=2' 返回作业的所有构建。但它不会返回每个构建的参数值。使用 'tree=allBuilds[parameters[name,value]]&depth=2' 返回以下内容。 “allBuilds”:[{“_class”:“hudson.model.FreeStyleBuild”},{“_class”:“hudson.model.FreeStyleBuild”},{“_class”:“hudson.model.FreeStyleBuild”},{“_class " : "hudson.model.FreeStyleBuild" }, ..... }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2015-09-10
    相关资源
    最近更新 更多