2012-12-10 6 views
10

Czy istnieje sposób, że możemy uzyskać wszystkie Jenkins- "Build Time Trend" informacje (Numer kompilacji + Status [sukces/nie udało itp.] + Czas trwania) dla aplikacji; używając interfejsu API zdalnego dostępu Jenkins?Jenkins-get "Trend czasu budowania" wartości za pomocą "Remote Access API"

W przeciwnym razie byłbym wdzięczny za opublikowanie linku dowolnej dokumentacji dotyczącej uzyskiwania informacji od Jenkinsa za pomocą interfejsu API zdalnego dostępu. Większość źródeł składa się ze sposobu uruchamiania zadań, ale nie mogłem znaleźć żadnego, który pokazuje, jak pobierać informacje od jenkins.

Dzięki!

+0

Mogę zrobić coś za pomocą tego mechanizmu. 'http: // localhost: 8080/job/MY-APPLICATION/BUILD #/api/json' Używając tego, będę mógł uruchomić pętlę, zadzwonić ponownie i ponownie zmienić BUILD # i uzyskać informacje o każdej kompilacji. Ale będzie świetnie, jeśli będę miał sposób na uzyskanie wszystkich informacji za pomocą jednego połączenia (jako zbioru), co zmniejszy obciążenie. Jeśli masz pomysł na temat takiego mechanizmu, proszę, pomóż mi w tej sprawie. Dzięki. –

Odpowiedz

14

można użyć coś jak URL:

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

Jest trochę bardziej dokumentacja w elemencie głównym API:

http://jenkins:8080/job/MY-APPLICATION/api 

Przyznaję, nie rozumiejąc zupełnie parametr tree. Nie mogłem znaleźć prostego przykładu pobrania całego poddrzewa builds.

+0

Wielkie dzięki, Dave Bacher !!! Właśnie tego właśnie szukałem !! Jeszcze raz, wielkie dzięki!!! –

+0

Która jednostka jest tym czasem trwania? Millis? Jiffis? Mikrosekundy? –

+0

@Danny, pola czasu wyglądają jak milisekundy w mojej instancji, potwierdzone przez [dokumentację kodu] (http://javadoc.jenkins-ci.org/hudson/model/Run.html#getDuration()) –

5

Przyznaję, że nie w pełni rozumiem parametr drzewa. Nie mogłem znaleźć prostego przykładu pobrania całego poddrzewa kompilacji.

Można uzyskać dostęp do całego poddrzewa elementu za pomocą [*] takie jak http://jenkins:8080/job/MY-APPLICATION/api/json?tree=builds[*]

Wiwaty,

3

do pobierania wszystkie wersje, użyj

http://jenkins:8080/job/MY-APPLICATION/api/json?tree=allBuilds[number,id,timestamp,result,duration] 

Zauważ, że B jest aktywowana allBuilds

+0

To jest prawdziwa odpowiedź, ponieważ zazwyczaj chcesz używać 'allBuilds' nie tylko' buildów' – alkuzad

Powiązane problemy