为每个参数触发Jenkins Job

时间:2017-09-25 09:52:33

标签: jenkins groovy jenkins-plugins

我使用Extensible Choice Parameter插件创建了全局选择参数

我在我的一个参数化jenkins作业中使用此参数列表。

在jenkins中有没有办法可以用全局选择参数列表中的每个参数执行作业?

我已经按照this回答中的建议查看了jenkins中的构建流程作业,但似乎它只接受硬编码参数,而不是动态参数。

1 个答案:

答案 0 :(得分:0)

我终于设法使用以下步骤解决了这个问题(在this帖子的帮助下) -

由于我的参数列表本质上是动态的,因此可以根据其他作业添加或修改,我们已在文本文件中对其进行管理。

接下来,我们使用可扩展选择参数插件来显示参数,使用groovy脚本 -

def list = [];
File file = new File("D:/JenkinJob/parameterList.txt")

file.eachLine { line ->
  list.add("$line")
}
return list

enter image description here

现在我想为每个参数调用这个jenkins作业。 为此,我安装了 BuildFlow 插件,并创建了一个新的BuildFlow类型的jenkins工作 - enter image description here

接下来,获取扩展选择参数插件,并按如下方式对其进行配置 - enter image description here

现在在这个工作的流程步骤中,编写这个脚本,其中"功能"是在上面创建的参数,并且在调用" build"参数,传入我们要为每个参数调用的作业名称 -

def features = params['Features'].split(',')

for (feature in features ) {
    build("JobYouWantToCall", JobParameter: feature,)
}