usando react node cómo crear consumir consume javascript groovy prototypejs jenkins

javascript - react - postman



¿Cómo enviar el trabajo de Jenkins a través de REST API? (1)

La siguiente tarea de compilación ''Ejecutar script de Groovy'' actualiza la descripción de la construcción para agregar un botón que enviará otro trabajo de Jenkins parametrizado:

import hudson.model.Cause import hudson.model.Job import jenkins.model.Jenkins final JOB_NAME = ''my-job'' final jenkins = Jenkins.instance final job = jenkins.getItemByFullName(JOB_NAME, Job.class) final currentBuild = Thread.currentThread().executable final buildNumber = currentBuild.getNumber() job.builds .findAll { build -> build.number == buildNumber } .each { build -> build.setDescription(""" <button type=''button'' onclick=''javascript: var another_job = function() { parameters = {json: {parameter: [{name: "P4_CHANGELIST", value: "0"}]}}; new Ajax.Request("http://builds/job/another-job/build", { method: "post", parameters: Object.toJSON(parameters) }); }; another_job()''>Continue</button>""") }

Pero al hacer clic en el botón Continuar, la solicitud devuelve una 400 Solicitud incorrecta. Parece que es porque los parámetros de construcción no se pasan correctamente (si elimino los parámetros de compilación de otro trabajo y no envío parámetros, las cosas funcionan bien).

No estoy seguro de si el problema se debe a malas cotizaciones o la forma en que estoy enviando a través de los parámetros de compilación.


Necesitas usar JSON. Consulte Enviar trabajos .

Lo siguiente funcionó para mí:

<button type=''button'' onclick=''javascript: var another_job = function() { new Ajax.Request("http://localhost:8081/job/JReport2/build", { method: "post", parameters: {json: Object.toJSON({parameter: [{name: "foo", value: "fobar"}]})} }); }; another_job()''> Start Job </button>

Lo que es un poco extraño es que funciona cuando se presiona el botón que aparece junto a la compilación en la lista de compilación, pero no funciona con el botón que aparece en la descripción de compilación.