我想通過groovy調用另一個Jenkins構建作業,我該怎麼做。我試圖與包括像下面,但沒有運氣我如何從Groovy腳本調用另一個jenkins構建作業
build 'job url'
但有你在談論jenkins-pipeline的build
步錯誤
ERROR: No parameterized job named
我想通過groovy調用另一個Jenkins構建作業,我該怎麼做。我試圖與包括像下面,但沒有運氣我如何從Groovy腳本調用另一個jenkins構建作業
build 'job url'
但有你在談論jenkins-pipeline的build
步錯誤
ERROR: No parameterized job named
,對不對?
這需要將作業名稱作爲參數,而不是URL。因此引發了一個名爲測試作業,請
build 'test'
這似乎尋找一個參數化的工作,也許是因爲你給了多個參數?請更精確地使用您的示例代碼以及作業名稱是什麼(是否在另一個文件夾中)?
如果您正在使用流水線插件,你想建立一個參數化的工作,你可以這樣做:
Supose你有一個「聲納審查」布爾參數:
build job: 'cargo-pipeline-ci-declarative', parameters: [booleanParam(name: 'sonar-review', value: false)]
在你不案」需要噸至建立一個沒有參數的工作:
你可以這樣做:
build ''cargo-pipeline-ci-declarative''
確保已安裝:
https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
感謝您的迴應 - 爲我製作''貨物管線ci聲明''爲我工作 – Vin
如果你真的只是想通過發佈火由URL一份工作,你可以這樣做使用到
http://server/job/myjob/buildWithParameters?PARAMETER=Value
看到parameterized-builds瞭解詳情。
只要通過groovy有幾種方法可以做到這一點。既然你特意問了groovy,請看Groovy plugin,它提供了關於如何觸發另一個構建的例子。
您也可以使用jobs-dsl-plugin。但是管道工作流正在逐步淘汰。
因此,我建議您使用multibranch pipeline plugin,它允許您將代碼編寫爲Jenkinsfile中的代碼,並且構建會自動觸發您存儲庫中的任何分支。只需簡單地創建一個多分支管道作業並將您的SCM設置到您的存儲庫。然後任何在項目根目錄中帶有Jenkinsfile的分支都會自動生成。
使用多分支管道插件的一個好處是它提供snippet generator這將爲您生成代碼。這對學習語法以及如何自己編寫代碼很有幫助。
最後,解決您的實際問題。您不提供網址,而是提供您想要觸發的作業的名稱。
您還需要考慮默認值。例如,下面我觸發一個名爲jobName
的作業,在啓動jobName
之前將等待10秒鐘,即使觸發作業執行了,我的上游作業也不會失敗,並且我的上游作業不會等待觸發作業完成完成。再次請參閱片段生成器瞭解詳細信息。
build job: 'jobName', propagate: false, quietPeriod: 10, wait: false
感謝它爲我工作! – Vin