如何在Jenkins Build命令中使用变量



我正试图通过Jenkins运行Testim。我正在使用windows批处理命令来运行它

testim --host localhost --port 4444 --mode selenium --token "xxxxxxxxx" --project "xxxxxxxxxx" --params-file ".testdata.js" --name=%test1% --name=%test2%

在这里,我期望的是作为变量"name"的值运行的测试的名称。例如,如果我有,总共10个测试,用户从这10个测试中选择2个或一些测试,那2个或那么多测试名称应该分别是变量test1、test2、test3…等的值。因此,用户在构建时选择的测试数量,即变量"name"在构建命令中与相应测试名称一起出现的次数。我用Jenkins的Active choice参数插件尝试过,但它给出了一个数组,我无法在Build命令中获取该数组的单个元素。我是新手,有人能帮我吗?

通过将输入字符串转换为所需格式,可以使用管道作业轻松实现这一点。

假设您使用的是Extended Choice参数或类似参数,它会将所有选定的值组合成一个字符串,每个值由您选择的分隔符分隔。假设您的参数名为Names,分隔符为">",则可以使用以下内容:

node {
def nameFlags  = Names.split(',').collect { " --name=${it.trim()}" }
bat "testim --host localhost --port 4444 --mode selenium --token "xxx" --project "xxx" --params-file ".\testdata.js" ${nameFlags.join(' ')}"
}

最新更新