作为Jenkins参数的无限数组
我试图创建一个Jenkins作业,该作业在其中遍历一个值数组。数组项的数量不是固定的,在后续生成中可能会有所不同 例如,我的作业遍历以下数组值集: ServerName:server1.example.com IP:1.1.1.1用户:荷马 ServerName:server2.example.com IP:2.2.2.2用户:Bart ServerName:serverN.example.com IP:x.x.x.x用户:Ned 作业使用值{ServerName:server1.example.com、IP:1.1.1、user:Homer}运行第一次迭代,使用值{ServerName:server2.example.com、IP:2.2.2、user:Bart}运行第二次迭代,直到N次迭代 这里,重要的一点是N不是固定的 我用JSON/groovy查看了extended choice参数,但没有找到解决数组项数量变化问题的方法作为Jenkins参数的无限数组,jenkins,jenkins-plugins,jenkins-groovy,Jenkins,Jenkins Plugins,Jenkins Groovy,我试图创建一个Jenkins作业,该作业在其中遍历一个值数组。数组项的数量不是固定的,在后续生成中可能会有所不同 例如,我的作业遍历以下数组值集: ServerName:server1.example.com IP:1.1.1.1用户:荷马 ServerName:server2.example.com IP:2.2.2.2用户:Bart ServerName:serverN.example.com IP:x.x.x.x用户:Ned 作业使用值{ServerName:server1.examp
在这个场景中是否有可以使用的插件,如果有,正确的用法是什么?我使用
字符串参数
,在我的管道脚本中,我使用脚本
块分割字符串,默认情况下,它在换行符或空格上分割,这是我所需要的。看起来您需要一个特殊的拆分字符,请注意groovy支持将正则表达式拆分为。也许你可以用一个|
字符,然后在上面拆分
"{ServerName: server.example.com, IP: 1.1.1.1, user: Bart1}|{ServerName: server2.example.com, IP: 2.2.2.2, user: Bart2}"
那你就可以做了
script {
def list = "${StringParamName}".split('|')
// Can NOT use `for (var_item in list)` because of NotSerializableException
for (int i = 0; i < list.size(); i++) {
def item = list[i]
// Do work with "${item}"
}
}
脚本{
def list=“${StringParamName}”.split('|')
//由于NotSerializableException,无法使用`for(列表中的var_项)`
对于(int i=0;i