情景:我想基於當前作業接收的輸入參數動態觸發少量下游作業(作業A和作業B ....) 。如何根據某些輸入參數動態地在jenkins中觸發多個下游作業
3
A
回答
1
import hudson.model.*
def values = ${configname}.split(',')
def currentBuild = Thread.currentThread().executable
println ${configname}
println ${sourceBranch}
values.eachWithIndex { item, index ->
println item
println index
def job = hudson.model.Hudson.instance.getJob(item)
def params = new StringParameterValue('upstream_job', ${sourceBranch})
def paramsAction = new ParametersAction(params)
def cause = new hudson.model.Cause.UpstreamCause(currentBuild)
def causeAction = new hudson.model.CauseAction(cause)
hudson.model.Hudson.instance.queue.schedule(job, 0, causeAction, paramsAction)
}
怎麼這樣呢?我從上游系統得到一個以逗號分隔的列表,我將它們分解爲個人內部工作的字符串。通過傳遞每個單獨的字符串來打電話。
1
這Jenkinsfile會這麼做:
#!/usr/bin/env groovy
pipeline {
agent { label 'docker' }
parameters {
string(name: 'myHotParam', defaultValue: '', description: 'What is your param, sir?')
}
stages {
stage('build') {
steps {
script {
if (params.myHotParam == 'buildEverything') {
build 'mydir/jobA'
build 'mydir/jobB'
}
}
}
}
}
}
+0
感謝您的答案,將嘗試這一點。 –
相關問題
- 1. 根據某些輸入參數觸發下游作業
- 2. 如何根據輸入參數計劃/觸發jenkins作業?
- 3. Jenkins矩陣作業不觸發多個下游作業
- 4. Jenkins下游作業觸發Gerrit事件
- 5. 爲每個參數觸發Jenkins作業
- 6. Jenkins遠程API - 使用靜態下拉參數觸發作業
- 7. Jenkins參數化下游構建觸發器插件 - 僅在某個分支上?
- 8. 根據文件夾更改的數量觸發多個jenkins作業
- 9. 在Jenkins中聚合下游參數化作業的結果
- 10. 根據兩個條件觸發Jenkins作業
- 11. 如何鏈接手動觸發的下游作業,同時傳遞參數?
- 12. 啓用安全後Jenkins下游作業未觸發
- 13. Jenkins不會觸發構建下游作業
- 14. Jenkins管道:觸發下游作業以後運行
- 15. Jenkins:如何使上游作業觸發下游作業的文件系統輪詢
- 16. 根據來自同一作業的參數在Jenkins中生成一個動態參數
- 17. 如何從Jira的狀態更改中觸發Jenkins作業
- 18. Jenkins - 觸發預定作業
- 19. 設置生成Jenkins中主作業的下游作業數量
- 20. 如何根據下拉輸入動態地重命名R Shiny中的多列?
- 21. Jenkins - 根據參數觸發構建後操作
- 22. 如何在Jenkins中爲某些用戶級別阻止某些作業?
- 23. 使用某些數據類型作爲MapReduce作業的輸入。
- 24. Jenkins在存在多個上游作業時從上游作業複製工件
- 25. Jenkins/Hudson上游作業沒有獲得下游作業的狀態「球」顏色
- 26. Jenkins - 在所有下游作業完成後觸發作業,不僅是直接作業
- 27. 根據輸入參數動態地更改where子句
- 28. Jenkins預定義的參數和下游作業
- 29. Gearman:限制工作人員根據一些輸入參數選擇作業
- 30. 如何根據數據(輸入)類型打印某些內容?
這是什麼輸入參數呢? – Suresh
輸入將是應該觸發的作業名稱(逗號分隔)。 –
您有沒有給出一個路徑將此參數傳遞給[參數化觸發器插件](https://wiki.jenkins.io/display/JENKINS/Parameterized+Trigger+Plugin) – Suresh