web-dev-qa-db-fra.com

L'authentification JENKINS échoue

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

15
nnc

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.

7
Juhi Saxena
4
thelastworm

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 *********

2
nnc

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
2
u.gen

Désactivez simplement "Protection CSRF" dans les Options de sécurité globales, car ces URL n'envoient pas d'identification après publication.

1
Dave Dundee

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

0
gareth_bowles