jenkins设置CSRF 协议(CRUMB值设置)

在关闭“”调用出现Error 403 No valid crumb was included in the request

第一种解决方式是 关闭 csrf,如上图,去掉勾就可以,但是并不推荐。

第二种: 

# 获取 crumb 值, 执行以后命令
wget -q --auth-no-challenge --user USERNAME --password PASSWORD --output-document - 'http://IP:PORT/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
# 替换其中的 username password  ip:port
# 执行后你会得到一个字符串,类似于: Jenkins-Crumb:5272d22d4c86e26331096fc2b0051282
# 如果访问API
curl -X POST -H "5272d22d4c86e26331096fc2b0051282" http://USER:API_TOKEN@IP:port/reload

我这里的项目是gitlab上的代码有变动时自动构建,那么我就需要将这个值配置到我的项目中,配置方法如下图:

点开项目-配置--在“General”下选择“参数化构建过程”(也就是“This build is parameterized”)- 添加字段, 只有在名称中填写 crumb 默认值写刚得到的字符串“5272d22d4c86e26331096fc2b0051282”。

然后保存即可。

原文地址:https://www.cnblogs.com/resn/p/9142389.html