jenkins作业dsl-没有方法的签名:java.lang.String.call()

jenkins作业dsl-没有方法的签名:java.lang.String.call(),jenkins,groovy,dsl,jenkins-groovy,jenkins-job-dsl,Jenkins,Groovy,Dsl,Jenkins Groovy,Jenkins Job Dsl,我无法运行这段代码: buildPath = 'applications' buildJob(['java', 'nodejs']) def buildJob(def jobList){ for(job in jobList){ def jobName = "${job}_seed" def jobDescription = "Jenkins DSL seed for ${job}" def jobScriptPath = "resources/dsl/${job

我无法运行这段代码:

buildPath = 'applications'
buildJob(['java', 'nodejs'])


def buildJob(def jobList){
  for(job in jobList){
    def jobName = "${job}_seed"
    def jobDescription = "Jenkins DSL seed for ${job}"
    def jobScriptPath = "resources/dsl/${jobName}.groovy"
    job("${buildPath}/${jobName}")
  }
}
所以,我得到了这个错误:

处理提供的DSL脚本 错误:脚本,第12行没有方法签名:java.lang.String.call适用于参数类型:org.codehaus.groovy.runtime.GStringImpl values:[applications/java_seed] 可能的解决方案:wait、any、waitlong、takeint、eachgroovy.lang.Closure、anygroovy.lang.Closure 完成:失败 我不知道是什么地方或什么原因导致了这个错误。我在buildJobdef作业列表函数之外创建了一个作业,它正在工作,但我需要执行循环以自动化作业创建


有什么想法吗?

您正在以下行中迭代字符串数组:

for(job in jobList){
并为此使用变量job

然后尝试调用此变量的方法调用:

job("${buildPath}/${jobName}")

您正在以下行中迭代字符串数组:

for(job in jobList){
并为此使用变量job

然后尝试调用此变量的方法调用:

job("${buildPath}/${jobName}")

发布我遇到的类似问题。在这个问题上,网络上没有太多的报道

方法java.lang.String.call的签名不适用于参数类型:java.lang.String values:[some value]

假设我们正在实现一个作业dsl插件,如:

我们有这样的代码:

def includedRegions = r ? String.join("\n", r) : null

branchSources {
  branchSource {
    buildStrategies {
      if(includedRegions){
        includeRegionBranchBuildStrategy {
          includedRegions(includedRegions)
        }
      }
    }
  }
}
需要重命名变量才能使其工作!e、 g该方法不能与上面定义的变量同名

def regions = r ? String.join("\n", r) : null

branchSources {
  branchSource {
    buildStrategies {
      if(regions){
        includeRegionBranchBuildStrategy {
          includedRegions(regions)
        }
      }
    }
  }
}

发布我遇到的类似问题。在这个问题上,网络上没有太多的报道

方法java.lang.String.call的签名不适用于参数类型:java.lang.String values:[some value]

假设我们正在实现一个作业dsl插件,如:

我们有这样的代码:

def includedRegions = r ? String.join("\n", r) : null

branchSources {
  branchSource {
    buildStrategies {
      if(includedRegions){
        includeRegionBranchBuildStrategy {
          includedRegions(includedRegions)
        }
      }
    }
  }
}
需要重命名变量才能使其工作!e、 g该方法不能与上面定义的变量同名

def regions = r ? String.join("\n", r) : null

branchSources {
  branchSource {
    buildStrategies {
      if(regions){
        includeRegionBranchBuildStrategy {
          includedRegions(regions)
        }
      }
    }
  }
}