Jenkins多行参数与批处理文件

时间:2018-07-23 13:51:58

标签: batch-file jenkins

我正在Jenkins中创建一个新的自由式项目,并希望将参数与批处理文件一起传递。

我在Command框的Execute Windows batch command部分中创建了多行字符串参数:

echo The build names are: %Build%

gitPull.bat (Pass in the variables here?)

但是它仅显示字符串的第一行。

经过研究,我发现批处理命令无法处理多行字符串,因此我认为如果用户可以输入一行字符串,并且每个字符串之间用逗号分隔,那么我可以将其存储在变量。

例如:

"Hello,John,Doe"

然后,我想将这些变量分别传递到名为gitPull.bat的批处理文件中,但是我不确定如何做到这一点。

screen shot of my windows batch command

2 个答案:

答案 0 :(得分:0)

所以我想通了,除非有更好的改进。因此,我在列表中存储了一行,并用逗号分隔,我可以按照自己的意愿来回显它。这就是我做的。

@echo off
echo list = "%Build%"
for %%a in ("%Build:,=" "%") do (
   echo name is %%a
)

通过gitPull.bat传递它,我就像这样传递了构建:

gitPull.bat %Build%

答案 1 :(得分:0)

通常,多行参数在用户表单中用作常见的文本区域。因此,此输入用于输入多个单词,也可以按Enter键来写更多单词。

这很复杂,将几个单词和“ \ n”作为单个参数传递给gitPull.bat

一种解决方法可能是使用 groovy 转换多行文字:

https://github.com/app/repo.git
branch
other word

至:

"https://github.com/app/repo.git" "branch" "other word"

所以您的 gitPull.bat 会收到3个参数

"https://github.com/app/repo.git , branch , other word"

因此,您的 gitPull.bat 收到1个参数,然后使用“,”作为分隔符进行云拆分。

  

建议创建几个简单的参数而不是多行参数。