web-dev-qa-db-fra.com

comment déclencher à distance la tâche jenkins via la commande curl

J'ai essayé d'exécuter (déclencher) le travail jenkins (pas un travail paramétré) via la commande curl en utilisant les méthodes ci-dessous mais en affichant ces résultats. ma version jenkins est Jenkins 2.73.3

curl -X POST -u jenkins_user_name:jenkins_user_passwd http://jenkins_server/job/job_name/build

Mais il est dit Interdit 403 enter image description here

Par conséquent, j'ai créé un jeton d'authentification pour le travail enter image description here

curl -X POST http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf

Cela donne également la même erreur. il dit interdit 403

Après cela, j'ai créé un jeton API pour l'utilisateur jenkins et essayé. enter image description here

curl -X POST -u auto:testingdae6dc22a73048e6d596e7b0 http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf

Mais c'est aussi pareil, dit Forbidden 403

En fait, j'ai également suivi cette réponse. https://www.nczonline.net/blog/2015/10/triggering-jenkins-builds-by-url/ cela ne fonctionne pas non plus pour moi.

à chaque fois, c'est 403 interdit. Je pense que je n'ai pas pu authentifier correctement l'utilisateur jenkins.

7
Prabath Dolawatta

trouvé la réponse. En fait, ces étapes sont correctes. Je voudrais mentionner les étapes correctes.

Créez un utilisateur dans Jenkins, vous pouvez utiliser ce mot de passe utilisateur ou ce jeton d'API pour déclencher le travail Jenkins. Mais créer un jeton d'API pour cet utilisateur est beaucoup mieux. Mais les deux façons fonctionnent bien.

Mais vous devez créer un jeton d'authentification pour le travail Jenkins

enter image description here

Utilisation du mot de passe

curl -I -u auto:<userpasswd> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf

Utilisation d'un jeton API

Créez un jeton d'API pour cet utilisateur Jenkins enter image description here

curl -I -u auto:<user_api_token> http://<jenkins_Server>/job/test/build?token=wefiytgwiefiweihfqweiodf

voici les résultats, en utilisant le mot de passe utilisateur jenkins et le jeton API utilisateur jenkins .

enter image description here

En fait, vous pouvez également envoyer cette demande sans "-I".

curl -u auto:<jenkins_user_token> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf

curl -u auto:<jenkins_user_password> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
8
Prabath Dolawatta

Pour configurer ces autorisations:

  • Cliquez sur Manage Jenkins
  • Cliquez sur Configure Global Security
  • Retirer Prevent Cross Site Request Forgery exploits
  • Cliquez sur save
2
vincent wu