我有一个jenkins服务器A,我正在尝试创建一个脚本管道,但我必须在另一个jenkins服务器B上调用另一个作业(Job1)。
为了做到这一点,我在Header中使用带有crumb的REST API。我通过在浏览器上运行以下命令来检索我的面包屑。 http://myhudson.com/crumbIssuer/api/json?xpath=concat(//crumbRequestField,":" //屑)"
我尝试了下面提到的不同命令,但没有运气。请告知一些事情。我有权访问或同意在两台服务器上触发构建。我正在执行Jenkins服务器A下面的命令,其中包含服务器B的详细信息。
1. curl -v -u Username:<API_TOKEN> -X POST http://UsedrName:<API_TOKEN>@myjenkins.com/job/Test_job/build?token=<API_TOKEN> -H Jenkins-Crumb:<Crumb number>
2. curl -v -X POST http://UsedrName:<API_TOKEN>@myjenkins.com/job/Test_job/build?token=<API_TOKEN> -H Jenkins-Crumb:<Crumb number>
3. curl -v -u Username:<API_TOKEN> -X POST http://UsedrName:<API_TOKEN>@myjenkins.com/job/Test_job/build?token=<API_TOKEN> -H .crumb:<Crumb number>
答案 0 :(得分:0)
jenkins API为您工作,https://wiki.jenkins.io/display/JENKINS/Remote+access+API您可以触发远程作业
答案 1 :(得分:0)
您需要使用Build With Parameters Plugin。你可以在build选项中编写一个shell脚本来调用其他服务器上的另一个jenkins作业。
shell脚本片段:curl -X POST -u其他服务器的用户ID:其他服务器的API令牌{B作业/作业/作业名的jenkins服务器URL}
答案 2 :(得分:0)
我能够执行远程参数作业。
答案 3 :(得分:0)
我遇到了同样的问题,这是因为在该端口上正在运行其他内容,并且jenkins正在给出错误消息,因为“该请求中未包含任何有效屑”,因此更改了server.xml中的端口,并且一切正常。 >