Nic*_*ick 3 scripting automation build jenkins
出于数据挖掘的原因,我想获取在特定日期构建的 jenkins 作业的构建编号范围。有没有插件可以完成这个或任何其他可能的方式?
谢谢,尼克
内置的 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
},
....
Run Code Online (Sandbox Code Playgroud)
如果您的构建 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
Jenkins 1.568 还在 API 结果中引入了分页,因此可以按范围检索结果。如果您的 Jenkins 版本支持,Jenkins REST API 链接描述了语法。
归档时间: |
|
查看次数: |
6219 次 |
最近记录: |