如何在Jenkinsfile中进行间接变量替换

时间:2019-09-11 11:04:31

标签: jenkins groovy jenkins-groovy

我正在尝试使用for循环构建propsfile中列出的另一个作业

要创建的作业列在propsfile中

JOB_COUNT=3
JOB_1=JOB_ONE
JOB_2=JOB_Two
JOB_3=JOB_THREE

管道脚本

stage ('Trigger Job') {
    steps {
        load "propsfile"
        script {
            for (int i=1; i <= "${JOB_COUNT}".toInteger(); i++) {
                build "$JOB_$i"
            }
        }
    }
}

所以我收到此错误

groovy.lang.MissingPropertyException: No such property: JOB_ for class: WorkflowScript

我想知道是否有可能像bash一样在常规中做到这一点?

还是应该改变处理方式?

谢谢:)

1 个答案:

答案 0 :(得分:0)

如果安装了Pipeline Utility Steps插件,则可以将属性文件读取为地图。 看看下面的代码片段:

stage ('Trigger Job') {
    steps {
        script {
            def props = readProperties file: "propsfile"
            def count = props['JOB_COUNT'].toInteger()
            for (int i=1; i <= count; i++) {
                build props["JOB_$i"]
            }
        }
    }
}