通過jenkins API去build一個job


背景

查看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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM