Curl 詹金斯远程触发器不工作
当我尝试使用以下命令触发生成时,出现以下错误: 卷曲 输出: 需要身份验证Curl 詹金斯远程触发器不工作,curl,jenkins,Curl,Jenkins,当我尝试使用以下命令触发生成时,出现以下错误: 卷曲 输出: 需要身份验证 安装参数化构建插件 如果您正在使用授权令牌触发生成(作业->配置->“生成触发器”->“远程触发生成(例如,从脚本)”),您可以访问: curl-X POSThttp://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value我以前安装Build Token根插件来解决这个问题 然后,同样地,设置身份验证令牌 最后,使用curl触发远程构建(注
安装参数化构建插件 如果您正在使用授权令牌触发生成(作业->配置->“生成触发器”->“远程触发生成(例如,从脚本)”),您可以访问:
curl-X POSThttp://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value
我以前安装Build Token根插件来解决这个问题
然后,同样地,设置身份验证令牌
最后,使用curl触发远程构建(注意转义字符“\”)
curlhttp://JENKINS_URL/buildByToken/build?job=JOB_NAME\&令牌=令牌\名称
或将URL粘贴到浏览器(无需转义字符“\”)
http://JENKINS_URL/buildByToken/build?job=JOB_NAME&token=TOKEN_NAME
如果你看到成功,这意味着触发远程詹金斯成功
请注意,您不必在作业上设置生成、发现和读取权限
有关更多信息,您可以参考
我建议你试试。它提供了一个非常容易触发作业的build\u作业
操作
build_job(name, parameters=None, token=None)
Trigger build job.
Parameters:
name – name of job
parameters – parameters for job, or None, dict
token – Jenkins API token
在设置测试Jenkins服务器后,我遇到了同样的问题。解决方案是使用我的Jenkins管理员密码进行身份验证:
curl -u admin:<mypassword> http://localhost:8080/job/Test/build?token=<mytoken>
curl-u管理员:http://localhost:8080/job/Test/build?token=
使用与登录Jenkins相同的用户名和密码。无需安装其他插件。我认为无需设置任何类型的插件即可使其正常工作,只需执行以下操作:
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
- 要查看您的用户ID令牌,请转到jenkins右上角的用户名>转到配置>单击API令牌,它将显示出来
- 您必须在JENKINS接收器的作业上配置令牌
我不得不说,它在Jenkins上运行得非常完美,没有对匿名用户的任何权限。在1.625.3上,让匿名阅读访问几乎所有对我有用的内容
更新:我想我应该澄清一下,因为这被否决了。我能够重现那个错误消息,当我打开匿名用户对所有访问类型的读取访问时,问题就解决了。只是说…在我的例子中,我的URL和令牌是正确的,但是忘记了触发URL/build的API用户所需的一个权限 权限必须至少包括以下列表:
- 全面阅读
- 工作建设
- 作业阅读
- 工作空间
- 我也面临同样的问题并解决了它
考虑一下,您有2个Jenkins A和B。如果您想执行Jenkins B中的构建作业,那么您必须提供Jenkins B的API令牌。如果您提供Jenkins A的API令牌,它将仅显示身份验证问题
这是我所犯的错误,一旦我根据要求的Jenkins正确更改了API令牌,它就得到了解决。这对我来说很有用:
tokenuser=您需要使用该用户登录,并检查令牌配置->管理员用户
用户=用户名
curl -XPOST --silent --show-error --user user:tokenuser "http://ipserver/jenkins/buildByToken/build?job=JOBNAME&token=7RJWiIwD5cW3S6QjwF7a"
例如:
curl -XPOST --silent --show-error --user desarrollador:b9611288e4159ea9fb7857faeadd06fe "http://ipserver/jenkins/buildByToken/build?job=DeployGF&token=7RJWiIwD5cW3S6QjwF7a"
插件已经安装,正如我在帖子中提到的,我尝试了建议的语法,但不起作用。我也犯了同样的错误。既然JenTing的建议对我有效,现在,我同意,但谢谢你的建议!此API可能会在某个时候派上用场。:)我真的很沮丧尝试不同的事情。我肯定我在其他一些链接上也看到了这个令牌根插件的建议,我确实注意到这个插件已经安装在我的系统上,但看起来我当时忽略了语法(在阅读你的答案时,不知何故,我注意到了正确的语法。:P非常感谢,伙计!:)我松了一口气!:)感谢您指出需要转义字符。这对我来说是缺失的。我在尝试集成gitlab和jenkins时遇到了同样的问题。我正在使用gitlab inbuild特性测试推送触发器。这让我想起了上面的错误。在我的工作中可以做些什么来解决这个问题case@TaraPrasadGurung我用GitLab用webhook触发Jenkins,一切都很顺利。你能详细描述一下错误抛出的原因吗?我在尝试集成gitlab和jenkins时遇到了同样的问题。我正在使用gitlab inbuild特性测试推送触发器。这让我想起了上面的错误。在我的案例中,当我提供了一个CSRF面包屑头时,可以做些什么来解决它,在这里详细介绍;