无法在循环中创建 freeStyleJob 作业 - 没有方法签名:script.freeStyleJob() 适用于参数类型:整数、闭包
Cannot create freeStyleJob jobs in a loop - No signature of method: script.freeStyleJob() is applicable for argument types: Integer, Closure
我正在尝试为 bitbucket 存储库中给出的许多分支创建许多 Jenkins 作业。
因此,目前我开发了一个 groovy 脚本来检索所有分支。
请注意,我正在使用 使用提供的 DSL 脚本,来做到这一点:
def project = "Test-Jobs"
def command = "git ls-remote -h $GIT_URL"
def proc = command.execute()
proc.waitFor()
// trouver toutes les branches
def branches = proc.in.text.readLines().collect {
it.replaceAll(/[a-z0-9]*\trefs\/heads\//, '')
}
println branches
这个return:
[feature/655, feature/BPDC-655, master, release/1.0.0, release/1.2.0, release/2.4.0]
然后,我尝试使用以下代码为每个分支创建一个名称作业:
def jobNames = branches.collect { it + "_test" }
println jobNames
这也很好。但是,我的问题是关于为每个分支创建 freeStyleJob :
for (ii = 0; ii < jobNames.size(); ii++)
{
freeStyleJob(ii) {
logRotator(-1, 10)
steps {
shell ("echo first programm")
}
}
}
但这根本行不通。而且,我收到此错误:
ERROR: (script, line 26) No signature of method: script.freeStyleJob()
is applicable for argument types: (java.lang.Integer,
script$_run_closure3) values: [0, script$_run_closure3@4e08608d]
Possible solutions: freeStyleJob(java.lang.String),
freeStyleJob(java.lang.String, groovy.lang.Closure) Finished: FAILURE
事实上,我多次尝试遍历 jobNames 列表对象,但通常都会出错。谢谢你的帮助。
freeStyleJob 块需要一个字符串变量。 ii
保留一个整数。您必须将其转换为字符串。几个选项:
freeStyleJob(ii as String) {
freeStyleJob(Integer.toString(ii)) {
freeStyleJob("${ii}") {
我正在尝试为 bitbucket 存储库中给出的许多分支创建许多 Jenkins 作业。 因此,目前我开发了一个 groovy 脚本来检索所有分支。 请注意,我正在使用 使用提供的 DSL 脚本,来做到这一点:
def project = "Test-Jobs"
def command = "git ls-remote -h $GIT_URL"
def proc = command.execute()
proc.waitFor()
// trouver toutes les branches
def branches = proc.in.text.readLines().collect {
it.replaceAll(/[a-z0-9]*\trefs\/heads\//, '')
}
println branches
这个return:
[feature/655, feature/BPDC-655, master, release/1.0.0, release/1.2.0, release/2.4.0]
然后,我尝试使用以下代码为每个分支创建一个名称作业:
def jobNames = branches.collect { it + "_test" }
println jobNames
这也很好。但是,我的问题是关于为每个分支创建 freeStyleJob :
for (ii = 0; ii < jobNames.size(); ii++)
{
freeStyleJob(ii) {
logRotator(-1, 10)
steps {
shell ("echo first programm")
}
}
}
但这根本行不通。而且,我收到此错误:
ERROR: (script, line 26) No signature of method: script.freeStyleJob() is applicable for argument types: (java.lang.Integer, script$_run_closure3) values: [0, script$_run_closure3@4e08608d] Possible solutions: freeStyleJob(java.lang.String), freeStyleJob(java.lang.String, groovy.lang.Closure) Finished: FAILURE
事实上,我多次尝试遍历 jobNames 列表对象,但通常都会出错。谢谢你的帮助。
freeStyleJob 块需要一个字符串变量。 ii
保留一个整数。您必须将其转换为字符串。几个选项:
freeStyleJob(ii as String) {
freeStyleJob(Integer.toString(ii)) {
freeStyleJob("${ii}") {