如何使用 Python JenkinsAPI 检索深度为 2 的最后一个良好构建

How do I retrieve the last good build with depth 2 with the Python JenkinsAPI

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

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

文档中没有提到,只提到了如何创建深度为2的构建对象。

如何获得深度为 2 的数据?

我不认为 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>
        }

只需使用正斜杠 / 来分隔嵌套作业。它适用于目录和组织插件,例如 Bitbucket Team Project。

job = J.get_job("{}/{}".format(organization, job_name))

在 Jenkins 的最新版本 API 中 Python 有方法 get_job_info。它具有输入参数深度。

由用户Sven Krüger