是否可以在管道脚本中将字符串与作业参数连接起来

时间:2017-10-13 15:28:16

标签: jenkins groovy jenkins-pipeline

我有一个带有结帐步骤的Pipeline jenkins作业,我想修改它以接受分支作为参数。

目前,这是我们结帐的方式:

stage('Prepare'){
        steps {
               checkout([$class: 'SubversionSCM', "..." remote: 'http://svn.xxx.bbb/svn/yyy/branches/version_2017']]])
        }
}

我想将结帐更改为:

checkout([$class: 'SubversionSCM', "..." remote: 'http://svn.xxx.bbb/svn/yyy/params.BRANCH/params.VERSION']]])

有人做过类似的事吗?我无法弄清楚是否可以将字符串与作业参数连接起来。

1 个答案:

答案 0 :(得分:9)

你缺少的是Groovy的String Interpolation:在双引号字符串中,data bodyClass允许你包含groovy代码:

${..}

所以在你的例子中,使用

def test = 'world'
println "hello ${test}" // prints hello world
println 'hello ${test}' // prints hello ${test}