2014-11-03 74 views

回答

1

內置REST JSON API會給你一個列表的建立某項工作:http://jenkins:8080/job/JOB_NAME/api/json?tree=builds[fullDisplayName,id,number,timestamp]&pretty=true

產生類似於:

{ 
    "builds" : [ 
    { 
     "fullDisplayName" : "JOB_NAME #113", 
     "id" : "2014-10-31_23-05-20", 
     "number" : 113, 
     "timestamp" : 1414821920808 
    }, 
    { 
     "fullDisplayName" : "JOB_NAME #112", 
     "id" : "2014-10-31_17-26-39", 
     "number" : 112, 
     "timestamp" : 1414801599000 
    }, 
    .... 

如果您的構建ID是基本日期戳記(如上所述),則可以執行一些字符串處理來過濾結果。否則,您可以將時間戳轉換爲相應的日期和過濾條件。

大多數Jenkins頁面在底部都有一個REST API鏈接,它提供了更多的文檔,但您經常需要嘗試使用API​​來弄清楚它可以提供哪些細節。


更新:作爲@Nick發現,該builds結果被限制在默認情況下,最新的100個元素。根據this Jenkins issue,您可以使用隱藏的allBuilds元素來檢索「所有構建」。所以,如果你需要所有建立,使用:http://jenkins:8080/job/JOB_NAME/api/json?tree=allBuilds[fullDisplayName,id,number,timestamp]&pretty=true

詹金斯1.568在API結果還推出了分頁,因此有可能來檢索範圍的結果。 Jenkins REST API鏈接描述瞭如果您的Jenkins版本支持它的語法。

+0

這有點幫助,因爲我可以做字符串處理。不過,我正在尋找某個日期範圍。這隻會生成最後100個版本的最後一個數組。比方說,我想爲最近的1000次構建獲取這些數據,我如何生成網址? – Nick 2014-11-04 02:15:50

+0

謝謝..它幫助.. – Nick 2014-11-05 00:03:50