如何在configure中覆盖jenkins dsl中的标记

时间:2016-09-08 00:57:25

标签: jenkins perforce jenkins-job-dsl

我有以下问题 - 我正在尝试覆盖perforce的同步选项,所以我试图这样做:

configure {
    populate('class': 'org.jenkinsci.plugins.p4.populate.SyncOnlyImpl') {
        have(false)
        force(false)
        quiet(true)
        parallel {
            enable(true)
            path("p4")
            threads(4)
            minfiles(1)
            minbytes(4096)
        }
    }
    revert(true)
}

但是,它会在配置中添加一个新的populate节点而不是覆盖它。我怎么能覆盖它?

1 个答案:

答案 0 :(得分:0)

您将获得一个封闭的节点列表,该节点是一个粗糙的NodeList(http://docs.groovy-lang.org/latest/html/api/groovy/util/NodeList.html):您可以操纵NodeList。

示例:

configure { node ->                             
  node / populate / have('false')
  node / populate / force('false')
  node / populate / modtime('false')
  node / populate / quiet('false')
  node.populate[0].@class="org.jenkinsci.plugins.p4.populate.SyncOnlyImpl"  
}

例如,这将覆盖 populate 选项的默认设置。希望这可以帮助。