python - 如何使用 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 ?
解决方案
我认为 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>
}
推荐阅读
- redux-saga - 轮询多个端点时,Redux Saga 产生非常缓慢
- ios - MKPolyline 不在地图上绘制。我该如何解决这个问题?
- r - 以给定字符串结尾的列的 Pmax
- python - 如何在不预先定义可以输入的值数量的情况下将多个项目附加到列表中?
- python - 无法修复 JSONDecodeError:无效的控制字符
- linux - 带有 sudo 的卷曲返回连接被拒绝,但普通卷曲运行良好
- windows - 使用 IO.File.Copy() 复制时,系统日期格式导致文件中的日期发生更改
- python - Scrapy - 产生新的请求不在循环中工作
- microsoft-graph-api - 使用图形 API 在 O365 中不可编辑的日历事件
- php - 在 WooCommerce 中停止从机器人注册特定 Web 域