Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过API获取已完成Jenkins作业的最终状态?_Api_Jenkins - Fatal编程技术网

如何通过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”])
我想你没有理解我的问题。这不是解析问题。。。我看到了“成功”的结果,但是构建还没有完成,它还有构建后命令要运行。