Как получить список заданий с самым длинным временем сборки в Jenkins

Мне нужно создать еженедельный отчет о нашем кластере сборки Jenkins. Одним из отчетов является отображение списка заданий с наибольшим временем сборки.

решение, которое я могу придумать, - это разобрать страницу " История сборки "на каждом ведомом устройстве (также master) и для каждой сборки задания, разобрать страницу сборки и искать"взял X min x sec на slave-xx".

Это кажется довольно громоздким, кто-нибудь знает лучшее решение с помощью Jenkins API или Groovy script консоль?

спасибо

2 ответов


вы можете получить данные сборки для своего отчета через API Jenkins. Для данной работы вы можете получить список сборок с информацией о продолжительности, используя что-то вроде:

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[*]

после того, как у вас есть запрос, который извлекает информацию о задании, что вам нужно для ваш отчет, он должен быть простым для циклического выполнения заданий.

большинство Страницы Дженкинса имеют ссылку внизу на REST API, которая описывает немного о доступе к API для этой страницы, например http://jenkins:8080/job/my-job/api.


Как насчет использования плагинов?

проверьте это:
https://wiki.jenkins-ci.org/display/JENKINS/build-metrics-plugin

есть несколько других, которые вы можете попробовать в зависимости от того, сколько настроек / функций вы хотите do/display:
https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin- это довольно обширный https://wiki.jenkins-ci.org/display/JENKINS/Project + статистика + плагин https://wiki.jenkins-ci.org/display/JENKINS/eXtreme + обратная связь + панель + плагин