2017-05-19 120 views

回答

1

,對不對?

這需要將作業名稱作爲參數,而不是URL。因此引發了一個名爲測試作業,請

build 'test' 

這似乎尋找一個參數化的工作,也許是因爲你給了多個參數?請更精確地使用您的示例代碼以及作業名稱是什麼(是否在另一個文件夾中)?

+0

感謝它爲我工作! – Vin

2

如果您正在使用流水線插件,你想建立一個參數化的工作,你可以這樣做:

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

+0

感謝您的迴應 - 爲我製作''貨物管線ci聲明''爲我工作 – Vin

2

如果你真的只是想通過發佈火由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 
相關問題