如何使用 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
我正在尝试检索深度为 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