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

时间:2019-03-14 14:19:47

标签: python jenkins jenkins-api

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

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

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

如何获得深度2的钻石?

3 个答案:

答案 0 :(得分:0)

我认为默认情况下,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>
        }

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

由用户Sven Krüger