我需要在Jenkins构建群集上生成每周报告。其中一个报告是显示构建时间最长的作业列表。
我能提出的解决方案是解析"构建历史记录"每个奴隶(也是主人)的页面,对于每个作业的构建,解析构建页面并寻找"在slave-xx"上花费x min x秒。
这感觉非常麻烦,有没有人知道使用Jenkins API或Groovy脚本控制台的更好的解决方案?
谢谢
答案 0 :(得分:10)
您可以通过Jenkins API获取报告的构建数据。对于某项工作,您可以 使用以下内容检索具有持续时间信息的构建列表:
http://jenkins:8080/job/my-job/api/json?tree=builds[id,number,duration,timestamp,builtOn]
查看给定作业的所有API可用构建数据的列表:
http://jenkins:8080/job/my-job/api/json?tree=builds[*]
获得查询后,您需要检索所需的作业信息 你的报告,循环工作应该是直截了当的。
大多数Jenkins页面底部都有一个指向REST API的链接,该链接描述了一些关于访问该页面的API的信息,例如: http://jenkins:8080/job/my-job/api
。
答案 1 :(得分:2)
使用插件怎么样?
检查出来:
https://wiki.jenkins-ci.org/display/JENKINS/build-metrics-plugin
根据您要进行/显示的自定义/功能的数量,您可以尝试其他几个:
https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin - 这是非常广泛的
https://wiki.jenkins-ci.org/display/JENKINS/Project+Statistics+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/eXtreme+Feedback+Panel+Plugin