2014-09-03 15 views
6

Ho bisogno di generare un rapporto settimanale sul nostro cluster di build Jenkins. Uno dei report è la visualizzazione di un elenco di lavori con il tempo di costruzione più lungo.Come ottenere un elenco di lavori con il tempo di costruzione più lungo in Jenkins

La soluzione che posso venire con è quello di analizzare la pagina di "costruire la storia" su ogni slave (anche Master) e per ogni generazione di un posto di lavoro, analizzare la pagina di configurazione e cercare "Ha preso x min x sec slave -XX".

Questo risulta piuttosto ingombrante, qualcuno conosce una soluzione migliore utilizzando l'API Jenkins o la console di script Groovy?

Grazie

risposta

10

È possibile ottenere i dati di build per il report tramite l'API Jenkins. Per un determinato lavoro, è possibile recuperare delle generazioni con le informazioni durata usando qualcosa come:

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

Per visualizzare un elenco di tutti i dati di compilazione API-disponibile per un determinato lavoro:

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

una volta che avete una query che recupera le informazioni sul lavoro di cui avete bisogno per il report, dovrebbe essere semplice per un ciclo sui posti di lavoro.

La maggior parte delle pagine di Jenkins ha un link in basso all'API REST che descrive un po 'sull'accesso all'API per quella pagina, ad es. http://jenkins:8080/job/my-job/api.

+0

Grazie! Questo è esattamente quello che stavo cercando. –

2

Come sull'uso dei plugin?

Check this out:
https://wiki.jenkins-ci.org/display/JENKINS/build-metrics-plugin

Ci sono pochi altri troppo che si può provare a seconda di quanto la personalizzazione/funzioni che si desidera fare/display:
https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin - Questo è piuttosto esteso https://wiki.jenkins-ci.org/display/JENKINS/Project+Statistics+Plugin https://wiki.jenkins-ci.org/display/JENKINS/eXtreme+Feedback+Panel+Plugin