2012-12-10 13 views
10

C'è un modo per ottenere tutto Jenkins- "Build Time Trend" informazioni (Numero build + Stato [successo/errore ecc.] + Durata) per un'applicazione; usando l'API di accesso remoto Jenkins?Jenkins-get valori "Build Time Trend" utilizzando "API di accesso remoto"

Oppure mi piacerebbe molto se si potesse pubblicare un collegamento di qualsiasi documentazione su come ottenere informazioni da Jenkins utilizzando l'API di accesso remoto. La maggior parte delle fonti comprende il modo di eseguire i lavori, ma non sono riuscito a trovarne alcuna, il che mostra come recuperare informazioni da jenkins.

Grazie!

+0

Ho potuto ottenere qualcosa utilizzando questo meccanismo. 'http: // localhost: 8080/job/MY-APPLICATION/BUILD #/api/json' Usando questo, potrò eseguire un ciclo, richiamarlo ancora e ancora cambiando il numero BUILD e ottenere informazioni su ogni build. Ma sarebbe fantastico se avessi un modo per ottenere tutte le informazioni con una sola chiamata (come una raccolta) che ridurrebbe il sovraccarico. Se hai un'idea di un meccanismo del genere, ti prego di aiutarmi in questo caso. Grazie. –

risposta

14

Si può usare qualcosa di simile a questo URL:

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

C'è un po 'più di documentazione nell'elemento radice api:

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

Ammetto di non capire completamente il parametro tree. Non sono riuscito a trovare un semplice esempio di recupero dell'intera sottostruttura builds.

+0

Grazie mille Dave Bacher !!! Questo è quello che stavo esattamente cercando !! Grazie mille ancora !!! –

+0

Quale unità è quella durata? Millis? Jiffis? Microsecondi? –

+0

@Danny, i campi della durata sembrano millisecondi nella mia istanza, confermati dalla [documentazione del codice] (http://javadoc.jenkins-ci.org/hudson/model/Run.html#getDuration()) –

5

Ammetto di non comprendere completamente il parametro dell'albero. Non ho potuto trovare un semplice esempio di recupero dell'intera sottostruttura delle build.

È possibile accedere a tutta la struttura secondaria di un elemento utilizzando [*] quali http://jenkins:8080/job/MY-APPLICATION/api/json?tree=builds[*]

Cheers,

3

Per il recupero di tutte le build, usare

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

Nota che B sia capitalizzata allBuilds

+0

Questa è la vera risposta come di solito si desidera utilizzare 'allBuilds' non solo' builds' – alkuzad

Problemi correlati