如何在groovy类中使用Jenkins Job DSL插件的闭包

时间:2016-06-19 16:18:47

标签: groovy jenkins-job-dsl

我是Job DSL Plugin甚至是Groovy的新手。

给出以下脚本:

class MyClass {
    def create() {  
        folder('test') {
        }   
    }
}

new MyClass().create()

我收到以下错误:

  

javaposse.jobdsl.dsl.DslScriptException :( script,line 3)没有方法签名:MyClass.folder()适用于参数类型:(java.lang.String,MyClass $ _create_closure1)值:[test,MyClass $ @ _create_closure1 62591600]   可能的解决方案:find(),collect()

好的,清楚。 Groovy找不到名为"文件夹"的方法。在我班上但这不是一种方法。这是一个Job DSL命令。我如何在课堂上使用它们?

1 个答案:

答案 0 :(得分:2)

您需要将脚本引用传递到您的班级,请参阅Job DSL wiki

class MyClass {
    def create(def dslFactory) {  
        dslFactory.folder('test') {
        }   
    }
}

new MyClass().create(this)