如何定义与来自詹金斯参数的两个或更多输入的盐变量?

问题描述 投票:0回答:1

如使用管道脚本预期不打印詹金斯参数。

我在詹金斯管道脚本中定义一个变量:USER =“XX-YY - $ {}目标-zzz”这里$ {}目标是从詹金斯逗号分隔的参数(服务器1,服务器)。

properties([
parameters([
    string(defaultValue: '', description: 'Comma-separated list', name: 'Target')
    ])
])
USER = "xx-yy-${Target}-zzz"
node('master') {
stage('pass_the_salt'){

}

当我打印用户,其结果被错误地打印为XX-YY-服务器1,服务器-ZZZ。预期的结果是XX-YY-server1的-ZZZ,XX-YY-服务器2-ZZZ。

jenkins-pipeline salt-stack
1个回答
0
投票

你得到的输出是正确的。您所拍摄的输入参数string和你只是在一个变量插值。你要分割字符串和前置/追加的字符串,让您预期的结果。

user_input = "server1,server2"  # equivalent to your Target input parameter
def list = []
def arr = user_input.split(",") # splitting the input with , as delimiter
for( String srv: arr ) {
  list << "xx-yy-${srv}-zz"     # creating a new list with your expected prepend/append string
}

print list.join(",") # Joining the output list with , as delimiter

# result looks as below
xx-yy-server1-zz,xx-yy-server2-zz
© www.soinside.com 2019 - 2024. All rights reserved.