在詹金斯管道中循环遍历多行字符串

Cat*_*nan 6 jenkins-pipeline

我正在尝试为我的 jenkins 作业创建一个包装器,它将触发(部署服务)来自多行字符串的特定作业。我可以列出作业,但无法在 groovt 循环中构建或运行任何命令:

node {
 stage("stream") {
 try {
   for (i in stream.split("\\r?\\n")){
        build(job: "${i}", parameters: [string(name: 'ENVNAME', value: 'uat')])
   }   
 }       
 catch (Exception e) {
   println("ERR: Please check groups! " + e.getMessage());
  }
 }  
}
Run Code Online (Sandbox Code Playgroud)

它抛出以下错误:

ERR: Please check groups! java.util.AbstractList$Itr
Run Code Online (Sandbox Code Playgroud)

即使我直接使用shell命令

sh("knife ssh -x user 'chef_environment:uat AND recipe:${i}'' 'sudo rm -rf /var/cache/yum; sleep 10;sudo chef-client -W -o ${i}'")
Run Code Online (Sandbox Code Playgroud)

回显服务有效,但任何其他命令都没有。面对每次/每次发布将触发的作业都不同的事实,您有什么建议或任何其他建议。