Jenkins Job DSL配置块

时间:2019-10-08 19:18:29

标签: jenkins jenkins-plugins jenkins-groovy jenkins-job-dsl

我是Jenkins Job DSL的新手,正在尝试弄清楚如何在DSL的scm部分中使用configure块。我的Jenkins config.xml中有一个默认生成的部分

<scm class='hudson.plugins.git.GitSCM'>
    <browser class='hudson.plugins.git.browser.GithubWeb'>
        <url>https://github.com/repository/</url>
    </browser>
</scm>

我知道Jenkins Job DSL插件API中有一个浏览器方法,您可以将其设置为gitblit,gitiles,gitLab,gitWeb,gogs和stash。

我要设置它(自动)。我尝试使用configure块方法,但它返回错误:

javaposse.jobdsl.dsl.DslScriptException: (script, line 12) Ambiguous method overloading for method groovy.util.Node#div.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:

第12行是 it 语句。

代码:

scm {
        git {
            remote {
                github
                credentials
            }
            branch("refs/heads/master")
            configure {
                it / 'scm' / 'browser' {}
            }
        }
    }

因此,我不确定如何使用代码解决此问题。

任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

在文档中它说流程xml可能有点棘手,我认为它应该是这样的(格式,内容不知道是否是这样):

it / scm / browser(class: 'hudson.plugins.git.browser.GithubWeb') / url('https://github.com/repository/')