RESTクライアントからJenkinsジョブをトリガーしようとすると、次のエラーが発生します
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>
端末からcurlを使用しているときにリクエストがトリガーされます
次の構文を使用しています
http:// user:[email protected]/job/your_job/build?token = TOKEN [ref: https://wiki.jenkins-ci.org/display/JENKINS/Authenticating + scripted + clients]
すなわち。 curl -X POST http:// user:[email protected]/job/your_job/build?token = TOKEN
この「このビルドはパラメーター化されています」にチェックを入れ、ドロップダウンから資格情報パラメーターを選択します。これを使って
curl -X POST http://jenkins.rtcamp.com/job/Snapbox/buildWithParameters --user "username:password"
認証の問題は解決しました。
他の人にも役立つことを願っています。
私の開発チームの構成設定はmatrix-based security
したがって、自分のグループを見つけて、自分のグループのワークスペースにアクセス権を与える必要がありました。
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
その後
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
ヘッダー認証パラメーターに値BASIC base_64encoded(username:password)を指定したところ、問題なく動作しました。
承認の基本bmltbWljdjpqZX *********
-uパラメーターを使用して資格情報を指定してみてください。
curl -u user:apiToken -X POST http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN
これらのURLは投稿データIDを送信しないため、グローバルセキュリティオプションの「CSRF保護」を無効にするだけです。