Saltar al contenido

Cómo obtener el token de API para Jenkins

Solución:

Desde Jenkins 2.129, la configuración del token de API ha cambiado:

Ahora puede tener varios tokens y nombrarlos. Pueden revocarse individualmente.

  1. Inicie sesión en Jenkins.
  2. Haga clic en su nombre (esquina superior derecha).
  3. Hacer clic Configurar (menú del lado izquierdo).
  4. Use el botón “Agregar token nuevo” para generar uno nuevo y luego asígnele un nombre.
  5. Debe copiar el token cuando lo genere, ya que no podrá ver el token posteriormente.
  6. Revoca las fichas antiguas cuando ya no las necesites.

Antes de Jenkins 2.129: muestre el token de API de la siguiente manera:

  1. Inicie sesión en Jenkins.
  2. Haga clic en su nombre (esquina superior derecha).
  3. Hacer clic Configurar (menú del lado izquierdo).
  4. Hacer clic Mostrar token de API.

Se revela el token de API.

Puede cambiar el token haciendo clic en el Cambiar token de API botón.

La forma sin interfaz de usuario de hacer esta publicación Jenkins 2.129 es:

curl 'https://<jenkinsURL>/me/descriptorByName/jenkins.security.ApiTokenProperty/generateNewToken' 
--data 'newTokenName=foo' 
--user username:Password

que devuelve:

{
  "status": "ok",
  "data": {
    "tokenName": "foo",
    "tokenUuid": "<uuid>",
    "tokenValue": "<redacted>"
  }
}

Pre Jenkins 2.129

curl http://<username>:<password>@<jenkins-url>/me/configure 

Probado en Jenkins 2.225

Después de investigar durante varias horas pude encontrar la respuesta:

Se usa Api Token en lugar del token CSFR. Sin embargo, ¿qué sucede si desea realizar la autenticación desde cualquier otro cliente (POSTMAN, CLI. Curl, etc)?

Primero debe obtener un token CSFR y guardar la información en una cookie con --cookie-jar

  • SOLICITUD

curl -s –cookie-jar / tmp / cookies -u nombre de usuario: contraseña http: // localhost: 8080 / crumbIssuer / api / json

  • RESPUESTA

{“_class”: “hudson.security.csrf.DefaultCrumbIssuer”, “crumb”: “bc92944100d12780cfc251c9255f3f323a475562b4ee0d8b9cc6e4121f50a450”, “crumbRequestField”: “}

Entonces podemos leer la cookie con --cookie y genera el nuevo token:

  • SOLICITUD

curl -X POST -H ‘Jenkins-Crumb: your_crumb_token_generated_above’ –cookie / tmp / cookies http: // localhost: 8080 / me / descriptorByName / jenkins.security.ApiTokenProperty / generateNewToken? newTokenName = your_token_name -u nombre de usuario: contraseña

  • RESPUESTA

{“status”: “ok”, “data”: {“tokenName”: “mi token de Android”, “tokenUuid”: “c510e26c-b2e8-4021-bf79-81d1e4c112af”, “tokenValue”: “11a2a0c91913d1391d8e814cb155ca7}

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *