web-dev-qa-db-ja.com

JENKINS認証が失敗する

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

25
nnc

この「このビルドはパラメーター化されています」にチェックを入れ、ドロップダウンから資格情報パラメーターを選択します。これを使って

curl -X POST http://jenkins.rtcamp.com/job/Snapbox/buildWithParameters --user "username:password"

認証の問題は解決しました。

他の人にも役立つことを願っています。

10
Juhi Saxena
5
thelastworm

私の開発チームの構成設定は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
3
u.gen

ヘッダー認証パラメーターに値BASIC base_64encoded(username:password)を指定したところ、問題なく動作しました。

承認の基本bmltbWljdjpqZX *********

2
nnc

-uパラメーターを使用して資格情報を指定してみてください。

curl -u user:apiToken -X POST http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN

1
gareth_bowles

これらのURLは投稿データIDを送信しないため、グローバルセキュリティオプションの「CSRF保護」を無効にするだけです。

1
Dave Dundee