Как определить, какая работа чаще всего выполняется в Jenkins? - PullRequest
1 голос
/ 21 февраля 2012

Знаете ли вы, как определить счетчик выполнения каждого задания за данный период?

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

Следующее выражение XPath вернет число сборок с временными метками от 1329817773921 до 1329834427888 для задания MyJobName :

http://[jenkins_server]/api/xml?depth=2&xpath=string(count(/hudson/job[name='MyJobName']/build[timestamp>=1329817773921 and timestamp<=1329834427888]))

Сами временные метки являются стандартным числом миллисекунд с эпохи .

Следующая XPath может использоваться для определения количества различных заданий на сервере:

http://[jenkins_server]/api/xml?depth=2&xpath=string(count(/hudson/job))

Следующая XPath может использоваться для определения имени третьего задания на сервере:

http://[jenkins_server]/api/xml?depth=2&xpath=/hudson/job[3]/name/text()

Вы можете написать короткий сценарий оболочки, который объединяет эти запросы, выполняемые с помощью wget, чтобы получить желаемый результат.

1 голос
/ 23 февраля 2012

На основе ответа @malenkly_scot Мне удалось получить статистическую информацию о количестве рабочих мест за последний месяц.

Ниже приведены шаги:

  • Сначала получите данные от Дженкинса (спасибо @malenkly_scot!)

http://buildcontrol//api/xml?depth=2&xpath=%28/hudson/job[build[timestamp%3E=1328054460000%20and%20timestamp%3C=1330560060000]]%29&wrapper=jenkins

Вы можете использовать эту страницу для разрешения значений меток времени: Преобразователь эпохи

  • Применитьпреобразование xslt для подсчета заданий

имя; рассчитывать;

;;

  • Вставить результат преобразования в Excel, отсортировать и вот оно:)
...