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

La siguiente tarea de compilación 'Ejecutar script Groovy del sistema' actualiza la descripción de la compilación para agregar un botón que enviará otro trabajo de Jenkins que está 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 Solicitud incorrecta 400. Parece que es porque los parámetros de compilación no se están pasando correctamente (si elimino los parámetros de compilación de otro trabajo y no los envío, los parámetros funcionan bien).

No estoy seguro de si el problema se debe a una mala cotización o la forma en que lo envío a través de los parámetros de compilación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta