Le message d'erreur suivant s'affiche lorsque j'essaie de déclencher un travail Jenkins à partir de n'importe quel client REST
Authentication required <!-- You are authenticated as: anonymous Groups that you are in: Permission you need to have (but didn't): hudson.model.Hudson.Read ... which is implied by: hudson.security.Permission.GenericRead ... which is implied by: hudson.model.Hudson.Administer --> </body> </html>
La demande se déclenche lors de l'utilisation de curl depuis le terminal
J'utilise la syntaxe suivante
http: // utilisateur: [email protected]/job/your_job/build? token = TOKEN [ref: https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients]
c'est à dire. curl -X POST http: // utilisateur: [email protected]/job/your_job/build? token = TOKEN
Cochez cette case "Cette construction est paramétrée", sélectionnez le paramètre de référence dans la liste déroulante ..
curl -X POST http://jenkins.rtcamp.com/job/Snapbox/buildWithParameters --user "username:password"
Cela a résolu mon problème d'authentification.
J'espère que cela aidera les autres aussi.
Pour moi
https: // utilisateur: [email protected]/job/nom_job/confuser? constructeur = tok_token
dans https://jenkins.mycompany.org/configureSecurity
désactiver CORS
espérons que cette aide
J'ai fourni l'en-tête Paramètre d'autorisation avec la valeur: BASIC base_64encoded (nom d'utilisateur: mot de passe) et tout s'est bien passé.
Autorisation de base bmltbWljdjpqZX *********
Les paramètres de configuration de mon équipe de développement étaient matrix-based security
. Je devais donc trouver mon groupe et lui donner accès à son espace de travail.
1.Click on Manage Jenkins .
2.Click on Configure Global Security .
3.in matrix-based security change:
Overall - Read
Job - Build
Job - Read
Job - Workspace
Ensuite
POST jobUrl/buildWithParameters HTTP/1.1
Host: user:token
Authorization: Basic dWdlbmxpazo4elhjdmJuTQ==
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
Branch=develop
Désactivez simplement "Protection CSRF" dans les Options de sécurité globales, car ces URL n'envoient pas d'identification après publication.
Essayez d’utiliser le paramètre -u pour spécifier les informations d’identification:
curl -u user:apiToken -X POST http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN