2014-09-03 19 views
6

Potrzebuję wygenerować cotygodniowy raport na naszym klastrze budowania Jenkins. Jednym z raportów jest wyświetlenie listy zadań o najdłuższym czasie kompilacji.Jak uzyskać listę zadań o najdłuższym czasie kompilacji w Jenkins

Rozwiązaniem, które mogę wymyślić jest przeanalizowanie strony "Historia kompilacji" na każdym slave (także master) i dla każdej kompilacji zadania, przeanalizowanie strony kompilacji i poszukiwanie "Zajęte x min x sec na slave -xx ".

To wydaje się dość kłopotliwe, czy ktoś zna lepsze rozwiązanie przy użyciu Jenkins API lub konsoli skryptowej Groovy?

Dzięki

Odpowiedz

10

Możesz pobrać dane do budowania raportu za pomocą interfejsu API Jenkins. Dla danego zadania można odzyskać liście buduje z informacjami trwania używając coś takiego:

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

aby wyświetlić listę wszystkich gromadzeniem danych API dostępną dla danego stanowiska:

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

Po uzyskaniu kwerendy, która pobiera informacje o zadaniu, które są potrzebne do utworzenia raportu, powinno być proste, aby zapętlić zadania.

Większość stron Jenkins ma link na dole do REST API, który opisuje bit o dostępie do API dla tej strony, np. http://jenkins:8080/job/my-job/api.

+0

Dzięki! Właśnie tego szukałem. –

2

Jak o użyciu wtyczek?

to sprawdzić:
https://wiki.jenkins-ci.org/display/JENKINS/build-metrics-plugin

Istnieje kilka innych też, co można spróbować zależności od tego ile personalizacji/funkcje, które chcesz zrobić/display:
https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin - Jest to dość obszerny https://wiki.jenkins-ci.org/display/JENKINS/Project+Statistics+Plugin https://wiki.jenkins-ci.org/display/JENKINS/eXtreme+Feedback+Panel+Plugin

Powiązane problemy