用地图启动groovy类

时间:2017-06-09 13:39:38

标签: jenkins groovy

我在运行管道脚本时使用jenkins的共享库功能,并希望使用变量映射初始化库。

我只是有一个看起来像这样的文件(string

Pipeline.groovy

在我的管道脚本

中初始化库
#!/usr/bin/env groovy
package path.of.package; 

def method() {
  # do stuff
}

def method2() {
  # do more stuff
}

我只是访问像

这样的方法
def groovyMethod = new Pipeline()

我希望能够传递groovyMethod.method() 这样的

map

这可以通过我当前的设置实现吗?

由于

1 个答案:

答案 0 :(得分:2)

调用带有命名params的构造函数:

Pipeline p = new Pipeline( version: "123",
       name: "Name",
       library: 'Library Name' )

或将地图传递给构造函数:

Pipeline p = new Pipeline( map )

或进行常规演员:

Pipeline p = [ version: "123",
       name: "Name",
       library: 'Library Name' ] as Pipeline

上述操作的先决条件是存在默认的无参数构造函数。