How do I get a list of jobs with longest build time in Jenkins

安稳与你 提交于 2019-12-01 17:51:19

问题


I need to generate a weekly report on our Jenkins build cluster. One of the reports is to display a list of jobs that have the longest build time.

The solution I can come up with is to parse the "Build history" page on each slave (also master) and for each build of a job, parse the build page and look for "Took x min x sec on slave-xx".

This feels quite cumbersome, does anyone know a better solution using Jenkins API or Groovy script console?

Thanks


回答1:


You can get the build data for your report through the Jenkins API. For a given job, you can retrieve the list of builds with duration information using something like:

http://jenkins:8080/job/my-job/api/json?tree=builds[id,number,duration,timestamp,builtOn]

To see a list of all the API-available build data for a given job:

http://jenkins:8080/job/my-job/api/json?tree=builds[*]

Once you have a query that retrieves the job information that you need for your report, it should be straightforward to loop over the jobs.

Most Jenkins pages have a link at the bottom to the REST API that describes a bit about accessing the API for that page, e.g. http://jenkins:8080/job/my-job/api.




回答2:


How about using plugins?

Check this out:
https://wiki.jenkins-ci.org/display/JENKINS/build-metrics-plugin

There are few others too which you can try depending on how much customization/features you want to do/display:
https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin - This is quite extensive https://wiki.jenkins-ci.org/display/JENKINS/Project+Statistics+Plugin https://wiki.jenkins-ci.org/display/JENKINS/eXtreme+Feedback+Panel+Plugin



来源:https://stackoverflow.com/questions/25648908/how-do-i-get-a-list-of-jobs-with-longest-build-time-in-jenkins

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!