Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy-如何简化嵌入式函数参数_Groovy_Jenkins - Fatal编程技术网

Groovy-如何简化嵌入式函数参数

Groovy-如何简化嵌入式函数参数,groovy,jenkins,Groovy,Jenkins,我在jenkins中运行groovy,我想从功能中分离数据。我曾尝试创建一个带有变量名和值的映射,但函数中的函数似乎把它搞砸了。我想取出CurrentBuildNo、ProjectName、Results\u文件夹,它们对于每个并行运行都是不同的,而不需要重复代码 autotests = parallel ( { ignore(ABORTED) { retry ( 2 ) { build("AutoTest", CurrentBuildNo: CurrentBuil

我在jenkins中运行groovy,我想从功能中分离数据。我曾尝试创建一个带有变量名和值的映射,但函数中的函数似乎把它搞砸了。我想取出CurrentBuildNo、ProjectName、Results\u文件夹,它们对于每个并行运行都是不同的,而不需要重复代码

autotests = parallel (
  { ignore(ABORTED) { 
     retry ( 2 ) {
       build("AutoTest", CurrentBuildNo: CurrentBuildNo, ProjectName: params["ProjectName"], Results_Folder: Results_Folder) 
   } } },
  { ignore(ABORTED) { 
     retry ( 2 ) {
       build("AutoTest", CurrentBuildNo: CurrentBuildNo, ProjectName: params["ProjectName"], Results_Folder: Results_Folder) 
   } } }
)
我想要的逻辑是:

tests = {{CurrentBuildNo: CurrentBuildNo, ...},{CurrentBuildNo: CurrentBuildNo, ...}}
autotests = parallel (
  for (i in tests){
     ignore(ABORTED) { 
        retry ( 2 ) {
           build("AutoTest", test[i]['CurrentBuildNo'], test[i]['ProjectName']...) 
      } } }
  }
)
啊,我想你会想要这样的东西:

def tests = [ [ CurrentBuildNo: CurrentBuildNo, ... ],
              [ CurrentBuildNo: CurrentBuildNo, ... ] ]

parallel tests.collect { t ->
    {
        ignore( ABORTED ) {
            retry( 2 ) {
                build( 'AutoTest', t.CurrentBuildNo, ... )
            }
        }
    }
}

函数内部的函数出错意味着什么?你试过什么?那是怎么失败的?您的理想解决方案是什么样的?我不确定如何编写第二个代码块的语法