如何使用自定义插件通过Jenkins DSL创建Jenkins作业? 我试图实现WebHook插件:https://github.com/jenkinsci/generic-webhook-trigger-plugin 但是通过DSL,我收到一个错误,提示genericTrigger类不存在。
由于:groovy.lang.MissingMethodException:没有方法的签名: javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.GenericTrigger() 适用于参数类型: (script $ _run_closure2 $ _closure5 $ _closure11)值: [script $ _run_closure2 $ _closure5 $ _closure11 @ 7f132176]
我已尝试将此插件添加到gradlew依赖项中:
dependencies {
compile 'org.jenkins-ci.plugins:generic-webhook-trigger:1.4'
}
但仍然是相同的错误。 我如何正确导入它们?我尝试从github克隆这些类,但是依赖项需要其他外部类。 该如何纠正?
P.S。插件已安装在Jenkins上
答案 0 :(得分:0)
JobDSL插件的内置DSL并不支持Jenkins上所有可用的插件。
但是,他们确实提供了2种其他方式来配置“不受支持”的插件:
第一个是动态DSL,它在内置DSL上看起来非常多。要了解插件是否支持该插件,最简单的方法是在您的 jenkins实例(https://[your_jenkins_domain]/plugin/job-dsl/api-viewer/index.html)
上检出API查看器。搜索您的插件,如果它支持它,您将看到类似以下内容的内容,其中显示了松弛通知插件的动态dsl:
找到有关动态DSL here的更多信息。
如果Dynamic DSL不支持它,那么您仍然可以通过“配置块”对其进行配置。这部分比较困难,因为它需要使用Groovy解析XML。但是所有内容在their documentation too中都有很好的解释。
最后,还有关于Automating Jenkins的幻灯片。您会找到两种情况的示例。还有关于配置块的blog post,应该仍然适用。