经过jenkins API去build一个job

背景

查看jenkins的apijson

直接访问 JENKINS_URL/job/JOB_NAME/api/ 就能够查看jenkins的apiapi

build一个job的话,是POST请求 JENKINS_URL/job/JOB_NAME/build安全

会提示:ui

这是jenkins的安全策略致使的,须要传递一个crumb3d

 

 解决方法

有两个方案,blog

第一种方案:token

1. 先去掉jenkins的安全策略设置,如图,去掉勾选jenkins

在jenkins全局安全设置中 取消勾选 “防止跨站点请求伪造(Prevent Cross Site Request Forgery exploits)”it

2. 容许anonymous 访问,以下图,勾选上event

3. 设置token,token是针对指定job的,因此去到job中去设置

那么就能够经过POST请求访问 JENKINS_URL/job/test1/build?token=TOKEN_NAME 触发这个job了

 

 

第二种方案: 安全这块不用去掉防止跨站点请求伪造,经过传递crumb来实现;但容许anonymous 访问仍是要设置的

 POST请求的时候带上这个Jenkins-Crumb(推荐这种方法)

 访问 JENKINS_URL/crumbIssuer/api/json 就能够获取到你的crumb,固然不一样的客户端去访问获得的不同

 

备注

将文中的JENKINS_URL替换成你本身的jenkins地址,

JOB_NAME替换成job的名字;

TOKEN_NAME 替换成你本身写的token值,如我上面的jwentest1

相关文章
相关标签/搜索