如何在 groovy 类 中使用 Jenkins Job DSL 插件的闭包
How to use closures of Jenkins Job DSL Plugin within groovy classes
我是 Job DSL 插件的新手,甚至 Groovy。
给定以下脚本:
class MyClass {
def create() {
folder('test') {
}
}
}
new MyClass().create()
我收到以下错误:
javaposse.jobdsl.dsl.DslScriptException: (script, line 3) No signature of method: MyClass.folder() is applicable for argument types: (java.lang.String, MyClass$_create_closure1) values: [test, MyClass$_create_closure1@62591600]
Possible solutions: find(), collect()
好的,明白了。 Groovy 在我的 class 中找不到名为 "folder" 的方法。但这不是一种方法。这是一个作业 DSL 命令。我如何在 classes 中使用它们?
您需要将脚本引用传递到您的 class,请参阅 Job DSL wiki。
class MyClass {
def create(def dslFactory) {
dslFactory.folder('test') {
}
}
}
new MyClass().create(this)
我是 Job DSL 插件的新手,甚至 Groovy。
给定以下脚本:
class MyClass {
def create() {
folder('test') {
}
}
}
new MyClass().create()
我收到以下错误:
javaposse.jobdsl.dsl.DslScriptException: (script, line 3) No signature of method: MyClass.folder() is applicable for argument types: (java.lang.String, MyClass$_create_closure1) values: [test, MyClass$_create_closure1@62591600] Possible solutions: find(), collect()
好的,明白了。 Groovy 在我的 class 中找不到名为 "folder" 的方法。但这不是一种方法。这是一个作业 DSL 命令。我如何在 classes 中使用它们?
您需要将脚本引用传递到您的 class,请参阅 Job DSL wiki。
class MyClass {
def create(def dslFactory) {
dslFactory.folder('test') {
}
}
}
new MyClass().create(this)