我需要生成一份关于我们的 Jenkins 构建集群的每周报告。其中一个报告是显示构建时间最长的作业列表。
我能想出的解决方案是解析每个从属设备(也是主设备)上的“构建历史记录”页面,对于每个作业构建,解析构建页面并查找“在 slave-xx 上花费 x min x sec”。
这感觉很麻烦,有人知道使用 Jenkins API 或 Groovy 脚本控制台的更好解决方案吗?
谢谢
我需要生成一份关于我们的 Jenkins 构建集群的每周报告。其中一个报告是显示构建时间最长的作业列表。
我能想出的解决方案是解析每个从属设备(也是主设备)上的“构建历史记录”页面,对于每个作业构建,解析构建页面并查找“在 slave-xx 上花费 x min x sec”。
这感觉很麻烦,有人知道使用 Jenkins API 或 Groovy 脚本控制台的更好解决方案吗?
谢谢
您可以通过 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
.
使用插件怎么样?
看看这个:
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