2014-11-03 66 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

相关问题