如何通过API获取已完成Jenkins作业的最终状态?
我打电话的方式如下: 得到如下结果:如何通过API获取已完成Jenkins作业的最终状态?,api,jenkins,Api,Jenkins,我打电话的方式如下: 得到如下结果: { "builds": [{ "actions": [{ "parameters": [{ "name": "JT_BUILD_ID", "value": "1274" }] }, {}, {}, {}, {}], "number": 3, "result": "SUCCES
{
"builds": [{
"actions": [{
"parameters": [{
"name": "JT_BUILD_ID",
"value": "1274"
}]
}, {}, {}, {}, {}],
"number": 3,
"result": "SUCCESS"
}, {
"actions": [{
"parameters": [{
"name": "JT_BUILD_ID",
"value": "1273"
}]
}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
"number": 2,
"result": "SUCCESS"
}, {
"actions": [{
"parameters": [{
"name": "JT_BUILD_ID",
"value": "0"
}]
}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
"number": 1,
"result": "SUCCESS"
}]
}
我正在传递JT_BUILD_ID,这样我就可以匹配我的作业
当我找到匹配的JT_BUILD_ID时,我查看结果,当我看到成功时,我认为我完成了。但该作业仍在运行do-to-post-build操作
如何匹配生成实例(使用参数JT_build_ID)并检测作业的最终状态?在
生成
下有另一个键生成
,如果后期生成仍在工作,则状态将保持为真
。当作业完全完成时,它将变为false
因此,您可以为building==false
添加额外的检查,最终的url如下所示
如果正在进行最新的构建(在构建后阶段),则结果可能如下所示
{
“构建”:[{
“行动”:[{
“参数”:[{
“名称”:“JT\U构建\U ID”,
“值”:“1274”
}]
}, {}, {}, {}, {}],
“建筑”:没错,
“数字”:3,
“结果”:“成功”
}, {
“行动”:[{
“参数”:[{
“名称”:“JT\U构建\U ID”,
“值”:“0”
}]
}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
“建筑”:假,
“数字”:1,
“结果”:“成功”
}]
}
您对API使用哪种脚本?javascript/python?问题中的“如何直接在API中传递JT_BUILD_ID”?只是在python中进行http调用(没有库,只有原始代码),比如:/job/MYJOB/buildWithParameters?delay=0sec&token=XBUILD&JT_BUILD_ID=1276在您的情况下,为什么不使用if语句进行检查?假设json_结果在字符串之上,build_no是您想要的。然后filter(lambda x:x[“actions”][0][“parameters”][0][“name”]=“JT\u BUILD\u ID”和x[“number”]=“BUILD\u no,json\u result[“builds”])
我想你没有理解我的问题。这不是解析问题。。。我看到了“成功”的结果,但是构建还没有完成,它还有构建后命令要运行。