7

我需要生成一份关于我们的 Jenkins 构建集群的每周报告。其中一个报告是显示构建时间最长的作业列表。

我能想出的解决方案是解析每个从属设备(也是主设备)上的“构建历史记录”页面,对于每个作业构建,解析构建页面并查找“在 slave-xx 上花费 x min x sec”。

这感觉很麻烦,有人知道使用 Jenkins API 或 Groovy 脚本控制台的更好解决方案吗?

谢谢

4

2 回答 2

11

您可以通过 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.

于 2014-09-03T17:23:14.267 回答
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

于 2014-09-03T16:10:04.433 回答