我有一个名为“ deploy-job”的Jenkins参数化构建,并且我将“可扩展选择”选项设置为“系统Groovy选择参数”。在Groovy脚本框中,我有这个
import hudson.model.*
BUILD_JOB_NAME = "build-multi-branch-pipeline-job"
def getJobs() {
def hi = Hudson.instance
return hi.getItems(Job)
}
def getBuildJob() {
def buildJob = null
def jobs = getJobs()
(jobs).each { job ->
if (job.displayName == BUILD_JOB_NAME) {
buildJob = job
}
}
return buildJob
}
def getAllBuildNumbers(Job job) {
def buildNumbers = []
(job.getBuilds()).each { build ->
def status = build.getBuildStatusSummary().message
if (status.contains("stable") || status.contains("normal")) {
buildNumbers.add(build.BUILD_NUMBER.toString())
}
}
return buildNumbers
}
def buildJob = getBuildJob()
return getAllBuildNumbers(buildJob)
但是,当我运行我的“ deploy-job”时,当我运行带有参数的Build时,我没有在选择框中看到“ multi-branch-pipeline-job”的内部版本号! >
我怀疑我没有打这个电话吗?
buildNumbers.add(build.BUILD_NUMBER.toString())
在这种情况下正确的语法是什么?谢谢!
答案 0 :(得分:0)
1 /使用try-catch查看您选择的错误。这将帮助您了解错误。
def getAllBuildNumbers(Job job) {
try {
...
return buildNumbers
}catch(Throwable t){
return [t.toString()]
}
}
2 /您的答案已经存在