将 jobdsl 命令扩展到 groovy class 的问题

Issues Extending a jobdsl command to a groovy class

我在从 groovy 脚本扩展使用 jobdsl 命令时遇到问题。

我创建了一个助手 class,我正在通过 "this"。它适用于不需要闭包的 jobdsl 命令。但因接受关闭的作业 dsl 命令无效 属性 而失败。示例是 freestylejob("inputstring"){}

帮助代码

static freeJob(def fJ, def dslFactory){
    def txt = dslFactory.freeStyleJob(fJ){

    }
}

来电号码

def testjob = DS.freeJob("inputstring", this)

我希望没有错误。相反,我从詹金斯那里得到了以下错误。

ERROR: (filename.groovy, line 119) No signature of method: .filename.freeStyleJob() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl, classname$_classname_closure3) values: [inputstring, classname$_project_closure3@5c7bc682]

代码从 class 深处调用方法。问题已解决。