我尝试使用以下命令触发构建时收到以下错误:
curl http:// jenkins_server:port/jenkins/job/job_name/build?token = token_name
输出:
需要验证
< - 您的身份验证为:您所在的匿名
群组:您需要拥有(但没有)的权限:hudson.model.Hudson.Read
...暗示:hudson.security.Permission.GenericRead
...暗示为:hudson.model.Hudson.Administer
- >
我有管理员权限,并且还启用了"身份验证令牌".我还有Job的Build,Discover和Read权限.我正在使用Jenkins 1.614.
我确实在网上查了好几个帖子,但找不到对我有用的东西.
尝试了几个选项,例如
1)curl -X POST http:// jenkins_server:port/jenkins/job/job_name/build?token = token_name
2)curl -u user:API(打印一个长HTML页面)
有什么建议.
小智 25
我之前安装了Build Token Root Plugin来解决这个问题
https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin
然后,同样,设置身份验证令牌
最后,使用curl触发远程构建(注意转义字符"\")
curl http://JENKINS_URL/buildByToken/build?job=JOB_NAME\&token=TOKEN_NAME
或将URL粘贴到您的浏览器(无需转义字符"\")
http://JENKINS_URL/buildByToken/build?job=JOB_NAME&token=TOKEN_NAME
如果您看到Succeed,则表示触发远程Jenkins成功.
请注意,您不必在Job上设置构建,发现和读取权限
M. *_*cal 12
我认为没有必要设置任何类型的插件来使其工作,只需执行此BATCH CMD:
curl -X POST http://USER_ID_JENKINS_RECEIVER:TOKEN_OF_USER_ID_JENKINS_RECEIVER@URL_JENKINS_RECEIVER:PORT/job/NAME_OF_JOB/buildWithParameters?token=TOKEN_JOB_JENKINS_RECEIVER
Run Code Online (Sandbox Code Playgroud)
要查看USER_ID_TOKEN,请转到jenkins右上角的用户名>转到配置>单击API令牌,它将显示.
您必须在JOB_OF_JENKINS_RECEIVER上配置令牌
我不得不说它在Jenkins上完美运行,没有任何匿名用户的权限.
设置测试Jenkins服务器后,我遇到了同样的问题.解决方案是使用我的Jenkins管理员密码进行身份验证:
curl -u admin:<mypassword> http://localhost:8080/job/Test/build?token=<mytoken>
Run Code Online (Sandbox Code Playgroud)
使用您用于登录Jenkins的相同用户名和密码.无需安装其他插件.
| 归档时间: |
|
| 查看次数: |
20797 次 |
| 最近记录: |