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í