我想使用Groovy变量作为Extended Choice插件的值。似乎很琐碎,但不起作用-失败,出现“ groovy.lang.MissingPropertyException:无此类属性:类:groovy.lang.Binding的$ COMPONENTS_LIST”。
有什么想法吗?
environment {
COMPONENTS_LIST= "one two three"
}
parameters {
extendedChoice (description: 'Components', multiSelectDelimiter: ' ',
name: 'Components_To_Deploy', quoteValue: false, saveJSONParameterToFile: false, type: 'PT_MULTI_SELECT',
value: $COMPONENTS_LIST, visibleItemCount: 3)
}
答案 0 :(得分:3)
这是语法错误,您正在尝试将命名参数value
设置为变量$COMPONENTS_LIST
的内容;不存在。变量的范围也有问题。这两个闭包都需要可用。因此,请尝试使用所需的值在两个闭包的范围之外定义变量,然后在闭包内使用变量,如以下示例所示:
def componentsList = "one two three"
environment {
COMPONENTS_LIST = componentsList
}
parameters {
extendedChoice (description: 'Components', multiSelectDelimiter: ' ',
name: 'Components_To_Deploy', quoteValue: false, saveJSONParameterToFile: false, type: 'PT_MULTI_SELECT',
value: componentsList, visibleItemCount: 3)
}
答案 1 :(得分:0)
我认为这是一个语法问题。您必须使用双引号来引用您的变量:
def COMPONENTS_LIST= "one two three"
parameters {
extendedChoice (description: 'Components', multiSelectDelimiter: ' ',
name: 'Components_To_Deploy', quoteValue: false, saveJSONParameterToFile: false, type: 'PT_MULTI_SELECT',
value: "${COMPONENTS_LIST}", visibleItemCount: 3)
}