Как получить список заданий с самым длинным временем сборки в 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 + обратная связь + панель + плагин