Category Archives: Jenkins

Error 403 No valid crumb was included in the request

....
<title>Error 403 No valid crumb was included in the request</title>
....

就代表你有啟動比較安全的機制 CSRF Protection( 預設是啟動的 )。

要如何解決呢? 請繼續往下看😊

CSRF Protection

主要是防止 CSRF 攻擊,

如果不知道什麼是 CSRF ,可參考我之前寫的 CSRF-tutorial 📝

管理 Jenkins -> 設定全域安全性

防範 CSRF 入侵預設有被打勾

把打勾取消,就可以用剛剛的方法了。

但是,如果我還是希望打勾防範 CSRF 入侵,那我該怎麼辦呢😬

這時候,必須先得到 Jenkins-Crumb

curl -s -u twtrubiks:8d3215553ca9623300f4967827c61291  http://localhost:8080/crumbIssuer/api/json

-s 參數說明

-s/–silent Silent mode. Don’t output anything

然後再將 Jenkins-Crumb 的值帶進去,如下( 假設 job 為 demo )

curl -X POST http://localhost:8080/job/demo/build --user twtrubiks:8d3215553ca9623300f4967827c61291  -H "Jenkins-Crumb:6fbe69cd42a261330cb37e74af1ed1d1"

-H 參數說明

-H/–header Custom header

如果沒跳出任何資訊 ( 有跳訊息通常是有錯誤 ),就代表成功了👍

你可以回到你的 Jenkins ,你會發現他自動開始 build 了 😆

 

 

 

ref from: https://github.com/twtrubiks/docker-jenkins-django-tutorial/blob/master/README.md