Curl
如何通過curl命令遠端觸發jenkins作業
我嘗試使用以下方法通過 curl 命令執行(觸發)jenkins 作業(不是參數化作業),但它顯示了這些結果。我的詹金斯版本是詹金斯 2.73.3
curl -X POST -u jenkins_user_name:jenkins_user_passwd http://jenkins_server/job/job_name/build
curl -X POST http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
它也給出了同樣的錯誤。它說禁止 403
之後,我為 jenkins 使用者創建了一個 API 令牌並進行了嘗試。
curl -X POST -u auto:testingdae6dc22a73048e6d596e7b0 http://jenkins_server/job/job_name/build?token=wefiytgwiefiweihfqweiodf
但它也一樣,上面寫著 Forbidden 403
實際上我也遵循了這個答案。https://www.nczonline.net/blog/2015/10/triggering-jenkins-builds-by-url/ 這對我也不起作用。
每次都是403禁止。我想我無法正確驗證詹金斯使用者。
找到了答案。其實這些步驟都是對的。我想提一下正確的步驟。
在 Jenkins 中創建一個使用者,您可以使用該使用者密碼或 API 令牌來觸發 Jenkins 作業。但是為該使用者創建一個 API 令牌要好得多。但兩種方式都可以正常工作。
但是您必須為 Jenkins Job 創建一個身份驗證令牌
使用密碼
curl -I -u auto:<userpasswd> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf
使用 API 令牌
curl -I -u auto:<user_api_token> http://<jenkins_Server>/job/test/build?token=wefiytgwiefiweihfqweiodf
這些是結果,使用jenkins user Password和jenkins user API token。
實際上,您也可以發送此請求,而無需“-I”。
curl -u auto:<jenkins_user_token> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf curl -u auto:<jenkins_user_password> http://<jenkins_server>/job/test/build?token=wefiytgwiefiweihfqweiodf