尝试从任何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>
使用来自终端的卷曲
时会触发请求我使用以下语法
http://user:apiToken@jenkins.yourcompany.com/job/your_job/build?token=TOKEN [ref:https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients]
即。 curl -X POST http://user:apiToken@jenkins.yourcompany.com/job/your_job/build?token=TOKEN
答案 0 :(得分:8)
选中此项&#34;此版本已参数化&#34; ,从下拉列表中选择凭证参数。 使用此
String
它解决了我的身份验证问题。
我希望它也会帮助别人。
答案 1 :(得分:4)
对我来说
https://user:password@jenkins.mycompany.org/job/job_name/build?token=my_token
https://jenkins.mycompany.org/configureSecurity 中的
禁用CORS
希望这个帮助
答案 2 :(得分:2)
我提供了带有值的头部授权参数: BASIC base_64encoded(用户名:密码),它工作正常。
授权基本bmltbWljdjpqZX *********
答案 3 :(得分:2)
我的开发团队的配置设置为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
答案 4 :(得分:1)
尝试使用-u参数指定凭据:
curl -u user:apiToken -X POST http://jenkins.yourcompany.com/job/your_job/build?token=TOKEN
答案 5 :(得分:1)
只需在全局安全选项中禁用“CSRF Protection”,因为这些URL不会发送帖子数据识别。
答案 6 :(得分:0)
联络点: 用户名:密码@
curl -u user:apiToken -X POST http://username:password@jenkins.yourcompany.com/job/your_job/build?key1=value1&key2=value2 ...