with run pass parametros parameter job example curl jenkins

curl - run - Disparador remoto de Jenkins no funciona



parametros jenkins (6)

Instalar complemento de compilación parametrizada

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build

Si está utilizando un token de autorización para desencadenar las construcciones (Trabajo -> Configurar -> ''Disparadores de compilación'' -> ''Dispara las compilaciones de forma remota (p. Ej., Desde las secuencias de comandos)''), puede acceder a:

curl -X POST http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value

Recibo el siguiente error cuando intento activar una compilación con el siguiente comando:

curl http: // jenkins_server: port / jenkins / job / job_name / build? token = token_name

Salida:

Autenticacion requerida

<- Estás autenticado como: anónimo
Grupos en los que te encuentras:

Permiso que debe tener (pero no lo hizo): hudson.model.Hudson.Read
... que está implícito en: hudson.security.Permission.GenericRead
... que está implícito en: hudson.model.Hudson.Administer
->

Tengo derechos de administrador y también he habilitado ''Token de autenticación''. También tengo los derechos de Build, Discover y Read on Job. Estoy usando Jenkins 1.614.

Revisé varias publicaciones en línea pero no pude encontrar nada que me sirviera.

Intenté algunas opciones como
1) curl -X POST http: // jenkins_server: puerto / jenkins / job / job_name / build? Token = token_name
2) curl -u usuario: API (Imprime una página HTML larga)

Alguna sugerencia.


Instalo Build Token Root Plugin para resolver este problema antes

https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin

Luego, como lo mismo, configure Token de autenticación

Finalmente, utilice curl para activar la compilación remota (Tenga cuidado con el carácter de escape "/")

curl http://JENKINS_URL/buildByToken/build?job=JOB_NAME/&token=TOKEN_NAME

o pegue la URL en su navegador (no necesita el carácter de escape "/")

http://JENKINS_URL/buildByToken/build?job=JOB_NAME&token=TOKEN_NAME

Si ve Corre éxito, significa que activará el Jenkins remoto con éxito.

Tenga en cuenta que no es necesario configurar derechos de compilación, descubrimiento y lectura en Job.

Para obtener más información, puede hacer referencia a https://cloudbees.zendesk.com/hc/en-us/articles/204338790-Why-are-builds-not-being-triggered-with-Build-Token-Root-Plugin-


Te sugiero que pruebes la API de Jenkins Python . Proporciona una acción build_job que es súper fácil de activar un trabajo.

build_job(name, parameters=None, token=None) Trigger build job. Parameters: name – name of job parameters – parameters for job, or None, dict token – Jenkins API token


Tuve el mismo problema después de configurar un servidor Jenkins de prueba. La solución fue autenticarse con mi contraseña de administrador de Jenkins:

curl -u admin:<mypassword> http://localhost:8080/job/Test/build?token=<mytoken>

Use el mismo nombre de usuario y contraseña que usa para iniciar sesión en Jenkins. No fue necesario instalar complementos adicionales.


Creo que no hay necesidad de configurar ningún tipo de complemento para que funcione, simplemente hazlo CMD BATCH:

curl -X POST http://USER_ID_JENKINS_RECEIVER:TOKEN_OF_USER_ID_JENKINS_RECEIVER@URL_JENKINS_RECEIVER:PORT/job/NAME_OF_JOB/buildWithParameters?token=TOKEN_JOB_JENKINS_RECEIVER

  • Para verlo USER_ID_TOKEN , vaya a su nombre de usuario en la parte superior derecha de jenkins> vaya a Configurar> haga clic en el token API y se mostrará.

  • Debe configurar un token en JOB_OF_JENKINS_RECEIVER

Debo decir que funciona perfectamente en Jenkins sin ningún tipo de permiso para usuarios anónimos.


En 1.625.3, dar acceso de lectura anónimo a casi todo funcionó para mí