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

How to use variables in Jenkins Build command

我正在尝试 运行 通过 Jenkins 进行测试。我正在为 运行 使用 windows 批处理命令

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

这里我期望我需要 运行 的测试名称作为变量 'name' 的值。例如。如果我总共有 10 个测试,并且用户 select 2 或一些测试出那 10 个,那 2 个或那么多的测试名称应该是变量 test1、test2、test3 等的值分别 。因此,用户在构建时 select 进行的测试次数,变量 'name' 应该在构建 command.I 中带有相应测试名称的次数已尝试使用 Active 选择参数Jenkins 的插件,但它提供了一个数组,我无法在 Build command.As 中获取该数组的单个元素 command.As 我是新手,有人可以帮助我吗?

您可以使用 pipeline job 轻松实现此目的,方法是将输入字符串转换为您需要的格式。

假设您使用的是扩展选择参数或类似参数,它将把所有选定的值组合成一个字符串,每个值由您选择的分隔符分隔。 假设您的参数名为 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(' ')}"
}