JENKINS身份验证失败

时间:2014-08-19 23:14:53

标签: rest curl jenkins postman

尝试从任何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

7 个答案:

答案 0 :(得分:8)

选中此项&#34;此版本已参数化&#34; ,从下拉列表中选择凭证参数。 使用此

String

它解决了我的身份验证问题。

我希望它也会帮助别人。

答案 1 :(得分:4)

答案 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 ...