如何在配置中覆盖jenkins dsl中的标记

如何在配置中覆盖jenkins dsl中的标记,jenkins,perforce,jenkins-job-dsl,Jenkins,Perforce,Jenkins Job Dsl,我有以下问题-我正在尝试覆盖Performance的同步选项,因此尝试执行以下操作: configure { populate('class': 'org.jenkinsci.plugins.p4.populate.SyncOnlyImpl') { have(false) force(false) quiet(true) parallel { enable(true) path

我有以下问题-我正在尝试覆盖Performance的同步选项,因此尝试执行以下操作:

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
节点,而不是覆盖它。如何覆盖它?

您将得到一个节点的闭包,它是groovy节点列表():您可以操作节点列表

例如:

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"  
}

例如,这将覆盖填充选项的默认值。希望这有帮助

节点的闭包是groovy节点列表():您可以操作节点列表

例如:

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"  
}

例如,这将覆盖填充选项的默认值。希望这有帮助

performancescm
似乎可以解决我的X问题。我不确定这是否应该是回答,还是等待通过谷歌找到此页面的任何人的Y解决方案。请提供一个完整的示例来重现此问题。有
performancescm
似乎可以解决我的X问题。我不确定这是否应该是答案或等待Y解决方案的任何人谁会找到这个页面通过谷歌。请包括一个完整的例子,再现了这个问题。