【问题标题】:Jenkins - load a groovy file into a DSL fileJenkins - 将 groovy 文件加载到 DSL 文件中
【发布时间】:2021-11-19 15:19:30
【问题描述】:

我想在 DSL 文件中加载一个 groovy 文件。如果我处理 DSL 文件,我会收到以下错误消息:

Processing DSL script folderA/job.dsl
ERROR: (job.dsl, line 2) No signature of method: job.load() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [./build.groovy ]
Possible solutions: find(), job(java.lang.String), find(groovy.lang.Closure), wait(), run(), run()

我的文件job.dsl的前两行:

def workspace = '.'
def module = load "${workspace}/build.groovy "

我这样理解错误信息,对象作业中没有方法load()。问题是,如何在 DSL 文件中访问全局/内置方法,如 load()?

【问题讨论】:

    标签: jenkins groovy dsl


    【解决方案1】:

    根据消息,没有load() 方法的签名包含groovy.lang.GString 参数。

    你可以使用:

    没有被解释为java.lang.String的插值。

    另见Load script from groovy script。

    【讨论】:

    • 感谢您的回答。但这无济于事。 :-(现在我收到以下错误消息:错误:(job.dsl,第2行)没有方法签名:job.load()适用于参数类型:(java.lang.String)值:[./build .groovy] 可能的解决方案:job(java.lang.String), find(), folder(java.lang.String), job(java.lang.String, groovy.lang.Closure), find(groovy.lang.Closure ), wait() -- 这几乎相同,只是参数类型不同。
    • @Andreas 你从哪里得到load() 是正确方法的信息?我链接到的问题和答案中一次都没有提到它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 2017-07-11
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多