以下のメソッドを使用してcurlコマンドでjenkinsジョブ(パラメーター化されたジョブではない)を実行(トリガー)しようとしましたが、これらの結果が表示されています。私のジェンキンスバージョンはジェンキンス2.73.3です
curl -X POST -u jenkins_user_name:jenkins_user_passwd http://jenkins_server/job/job_name/build
curl -X POST http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
また、同じエラーが発生します。禁断の403
その後、jenkins UserのAPIトークンを作成して試してみました。
curl -X POST -u auto:testingdae6dc22a73048e6d596e7b0 http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
しかし、それも同じです、それは禁止された403を言います
実際、私もこの答えに従っています。 https://www.nczonline.net/blog/2015/10/triggering-jenkins-builds-by-url/ これも私には機能しません。
毎回、403禁止です。 jenkinsユーザーを適切に認証できなかったと思います。
答えが見つかりました。実際、これらのステップは正しいです。正しい手順について述べたいと思います。
Jenkinsでユーザーを作成します。そのユーザーパスワードまたはAPIトークンを使用して、Jenkinsジョブをトリガーできます。ただし、そのユーザーのAPIトークンを作成する方がはるかに優れています。しかし、どちらの方法も問題なく機能します。
ただし、Jenkins Jobの認証トークンを作成する必要があります
パスワードの使用
curl -I -u auto:<userpasswd> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
APIトークンの使用
curl -I -u auto:<user_api_token> http://<jenkins_Server>/job/test/build?token=wefiytgwiefiweihfqweiodf
これらは、jenkinsユーザーパスワードおよびjenkinsユーザーAPIトークンを使用した結果です。
実際には、「-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
これらの権限を構成するには:
Manage Jenkins
をクリックしますConfigure Global Security
をクリックしますPrevent Cross Site Request Forgery exploits
save
をクリックします