如何在 Jenkins Job DSL 中生成增量 Maven 构建?

How can I generate incremental Maven build in Jenkins Job DSL?

我正在尝试生成出现在 Advanced... 下的 Jenkins Maven 作业中的内容

Incremental build - only build changed modules

这是一个直接位于 <maven2-moduleset> 中的 XML 节点。

我没有在 API 中找到它,所以我想我会使用 configure,但我想不通。据我了解,这应该有效:

mavenJob('foo') {
  rootPOM('foo/pom.xml')
  goals('clean package')
  configure { node ->
    node {
      incrementalBuild('true')
    }
  }
}

但是,我得到一个异常:

groovy.lang.MissingMethodException: No signature of method: groovy.util.Node.call() is applicable for argument types: (Generator$_run_closure1_closure14_closure16) values: [Generator$_run_closure1_closure14_closure16@1f7d8eff]
Possible solutions: wait(), name(), value(), any(), wait(long), any(groovy.lang.Closure)

我做错了什么?

在这种情况下,您必须在配置块中使用 / 运算符来创建或更新元素,请参阅作业 DSL wiki 中的 Transforming XML

mavenJob('foo') {
  rootPOM('foo/pom.xml')
  goals('clean package')
  configure { node ->
    node / incrementalBuild(true)
  }
}