我目前正在尝试建立一个Jenkins管道构建,它将一个字符串对数组作为构建参数。
上述参数将用于将工作副本的某些子目录切换到指定的分支,有效地授予Jenkins使用混合分支的能力:即,如果[{"A1", "A2"}, {"B1", "B2"}, {"C1", "C2"}]
作为参数,Jenkins将把本地分支A1
切换到URL "A2"
,本地分支B1
切换到URL "B2"
,等等。
获取一个列表并为每一对切换分支可以简单地通过管道脚本完成;问题是找到一种方法来实际传递一个字符串数组或一对字符串。
最初我尝试使用多行字符串参数,让用户每行输入一对,用逗号分隔。但是我的PM坚持我不能使用这种方法,因为输入的字符串很难阅读/输入,所以这是不可能的。
搜索带有“Build Parameters”标签的Jenkins插件是徒劳的,因为没有一个插件提供我正在寻找的功能。
在Jenkins中有没有什么方法可以设置:
- 由两个用户输入字符串组成的构建参数,例如键值对,
- 还是一个构建参数,它是一个可变长度的用户输入字符串数组,您可以添加/删除?
或者我应该创建我自己的Jenkins插件来做这件事?
1条答案
按热度按时间qmelpv7a1#
您可以使用Active Choice Reactive Reference Parameter来实现此目的。在您的作业中添加一个名为
PARAM
的Active Choice Reactive参考参数,并提供以下groovy脚本:字符串
重新启动脚本,并在选择类型栏中选择
Formatted HTML
。在pipeline脚本中,您可以将此参数用作
env.PARAM
,您将获得的值为A1,A2,B1,B2,C1,C2,
。