Jenkins/Groovy- Job DSL plugin - git() vs git{}



根据Git的Job DSL插件API文档,有两种形式可以使用它:

  1. git('rep_url'(
  2. git{…}//具有许多附加选项

这两种方法之间有什么区别
一个是方法调用,另一个是调用闭包

根据本文,我猜这两种形式都在调用Groovy闭包+一些Groovy语法糖。

一个是方法调用,另一个是调用闭包?

两者都是方法调用,但第一个调用在git上使用字符串,而后者则使用闭包作为参数。

根据您在上面分享的api-doc-api,第一个git {}提供了设置SCM上下文的最大选项,其中包括通过configure闭包直接操作生成的XML的选项。所有其他的似乎都是这个选项的变体,最后一个参数是configure闭包。

如果方法调用的最后一个参数是闭包,它可以在括号之外传递

是的,你说得对。而且,如果闭包是唯一的方法参数,那么可以只使用闭包而不使用任何括号来调用方法。这正是关于git {}的第一个调用

最新更新