Rob*_*ert 2 dsl groovy jenkins jenkins-job-dsl jenkins-groovy
我无法运行这段代码:
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}")
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我收到这个错误:
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}")
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里或什么原因导致了这个错误。我在函数之外创建了一个作业buildJob(def jobList)
,它正在工作,但我需要执行循环来自动化作业创建。
有任何想法吗?
发布我遇到的类似问题。网上关于这个问题的讨论不多。
No signature of method: java.lang.String.call() is applicable for argument types: (java.lang.String) values: [some-value]
假设我们正在实现一个作业 dsl 插件(https://github.com/jenkinsci/multibranch-build-strategy-extension-plugin),例如:
includeRegionBranchBuildStrategy {
includedRegions(String value)
}
Run Code Online (Sandbox Code Playgroud)
我们有这样的代码:
def includedRegions = r ? String.join("\n", r) : null
branchSources {
branchSource {
buildStrategies {
if(includedRegions){
includeRegionBranchBuildStrategy {
includedRegions(includedRegions)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
需要重命名您的变量才能使其正常工作!例如,该方法不能与上面定义的 var 具有相同的名称。
def regions = r ? String.join("\n", r) : null
branchSources {
branchSource {
buildStrategies {
if(regions){
includeRegionBranchBuildStrategy {
includedRegions(regions)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8602 次 |
最近记录: |