2012-03-10 7 views
5

Digamos que desencadenar compilación enviando solicitud GET al /job/awesomesauce/build. ¿Es posible recuperar la identificación de la creación activada?¿Es posible recuperar el ID de la compilación de Jenkins que activé a través de su API?

Soy consciente de que puedo intentar acceder /job/awesomesauce/lastBuild/api/json, pero que me daría información errónea en caso de que haya varias composiciones funcionando a la vez. Además, parece haber una ligera demora (unos segundos) antes de que me brinde información sobre la ejecución actual de compilación.

Respuesta

4

Tenía que hacer este tipo de cosas, y aquí hay una solución que utilicé: tenía un parámetro ficticio que pasé a la compilación (en mi caso era BUILD_ID de otra compilación, en su caso puede ser una timestamp), luego consulté y analicé tanto la API de compilación api ([server]/queue/api/...) como la api regular (en caso de que la compilación haya finalizado) para la compilación que contiene el valor del parámetro apropiado.

1

En la "ubicación" del encabezado de respuesta http, puede obtener el id del elemento de la cola. Luego puede sondear/cola/elemento // api/json para obtener su número ejecutable, que es el ID de compilación.

+0

Se inició la nueva compilación, pero la 'Ubicación' en respuesta es uri de trabajo en lugar de uri de compilación. Editar: https://issues.jenkins-ci.org/browse/JENKINS-12827 – mj41

+0

Lo describí en algunos detalles más aquí: http://stackoverflow.com/questions/24507262/retrieve-id-of-remotely- triggered-jenkins-job/28524219 # 28524219 – morgwai

Cuestiones relacionadas