我的Jenkinsfile
中的一个变量包含一个URL列表,我希望能够在它们上运行。当我将变量$ URL传递给函数时,出现错误:
No such property: $URL for class: groovy.lang.Binding
但是,我可以使用sh
来回显此变量。
pipeline {
agent any
environment {
URL="https://www.aaa.com," \
+ "https://www.bbb.com," \
+ "https://www.ccc.com"
}
stages {
stage ('A') {
//...
}
stage ('B') {
//...
}
stage ('C') {
steps {
script {
sh 'echo $URL'
funcion($URL)
}
}
}
}
}
def funcion(URL) {
sh "echo Going to echo a list"
for (int i = 0; i < URL.size(); i++) {
sh "echo ${URL[i]}"
}
}
可能是什么问题?
答案 0 :(得分:1)
您应该将此变量传递给funcion()
方法,
function(URL)
代替
funcion($URL)
要插入变量时,仅在$
内部使用美元符号GString
。例如
#!groovy
def name = "Joe"
println "My name is $name"
结果
My name is Joe
您可以在Groovy文档-http://groovy-lang.org/syntax.html#_string_interpolation
中了解有关字符串插值的更多信息。