背景
檢視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
雖千萬人,吾往矣!