2017-06-23 46 views
1

我想构建一个接受参数来覆盖默认值的函数,但我总是收到“null”。詹金斯管道共享库 - 传递参数

我写了一个简单的函数:

// vars/Run.groovy 
def test(String type, String parallel = 'yes') { 
    println(type) 
    println(parallel) 
} 

我的管道是这样的:

node('master') { 
    Run.test('unit') 
    Run.test('unit', parallel = 'no') 
} 

结果我得到的是:

unit 
yes 

unit 
null 

我缺少什么?

回答

2

你只需要通过价值。这将覆盖您的默认值。

Run.test('unit', 'no') 
+1

但是,如果你有几个可选的参数,你会怎么做? 例如: def test(String type,String foo ='bar',String parallel ='yes') 我只想重写'parallel'? – user1559263