簡體   English   中英

如何通過API獲取已完成的Jenkins作業的最終狀態?

[英]How can I get the final status of a completed Jenkins job via API?

我撥打電話如下:

http://jenkins.mysite.com/job/MYJOB/api/json?depth=2&tree=builds%5Bactions%5Bparameters%5Bname%2Cvalue%5D%5D%2Cnumber%2Cresult%5D

並獲得如下結果:

{
    "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,所以我可以匹配MYJOB的這個運行。

當我找到匹配的JT_BUILD_ID時,我看結果,當我看到SUCCESS時,我認為我已經完成了。 但是這項工作仍在運行,以發布構建行動。

我怎樣才能匹配構建實例(使用參數JT_BUILD_ID)並檢測作業的最終狀態?

building下還有另一個關鍵builds ,如果builds后仍在工作,狀態將保持為true 當工作完全完成時,它變為false

因此,您可以為building == false添加額外的檢查,最終的URL如下所示

https://ci.jenkins-ci.org/view/Libraries/job/lib-jira-api/api/json/?pretty=true&depth=2&tree=builds[actions[parameters[name,value]],number,result ,建造]

如果最新版本正在進行(在構建后階段),結果可能如下所示

{
  "builds": [{
    "actions": [{
        "parameters": [{
            "name": "JT_BUILD_ID",
            "value": "1274"
        }]
    }, {}, {}, {}, {}],
    "building" : true,
    "number": 3,
    "result": "SUCCESS"
  }, {
    "actions": [{
        "parameters": [{
            "name": "JT_BUILD_ID",
            "value": "0"
        }]
    }, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
    "building" : false,
    "number": 1,
    "result": "SUCCESS"
  }]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM