首页 > 解决方案 > 如何使用 Python JenkinsAPI 检索深度为 2 的最后一个良好构建

问题描述

我正在尝试检索深度为 2 的特定构建的构建数据,但默认值始终为 1

J = Jenkins(host,user,password)
job = J.get_job(job_name)
build_number = job.get_last_good_build()

文档中未提及,仅提及如何创建深度为 2 的构建对象。

如何获得深度 2 ?

标签: pythonjenkinsjenkins-api

解决方案


我认为 API 默认没有它。我能想到的最好的事情是获取所有工作的列表,并查询每个工作是否成功,如果你的工作经常失败,你可以从 last_good_build 开始,然后向下工作/

我不太了解 Python,但是我在 GO 中编写了一个非常糟糕的脚本来获得所有成功的构建,您只需要添加逻辑以在深度 2 处停止:

您必须执行以下操作:

    builds, err := jenkins.GetAllBuildIds(jobName)
    var count int64
    if err != nil {
        panic(err)
    }
    for _, build := range builds {
        buildID := build.Number
        data, err := jenkins.GetBuild(jobName, buildID)
        if err != nil {
            panic(err)
        }

        if "SUCCESS" == data.GetResult() {
            <LOGIC>
        }

推荐阅读