背景

查看jenkins的api

直接访问 JENKINS_URL/job/JOB_NAME/api/ 就可以查看jenkins的api

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

会提示:



这是jenkins的安全策略导致的,需要传递一个crumb

 

 解决方法

有两个方案,

第一种方案:

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

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



2. 允许anonymous 访问,如下图,勾选上



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

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信