jenkins dsl在单行中不起作用

时间:2017-12-06 10:39:53

标签: jenkins-job-dsl

需要帮助了解Jenkins DSL格式以及它如何影响作业创建/执行

让我们举一个以下DSL脚本的例子

job('readyForIntegration'){ displayName('Good For Integration Testing') 
parameters{ stringParam('param1') } }

如果我有上述文本的作业,则作业失败并显示错误“处理提供的DSL脚本 java.lang.NullPointerException:无法在null对象上调用方法参数()。

但是如果我用下面的缩进/格式编写相同的脚本,那么作业

job('readyForIntegration'){ 
 displayName('Good For Integration Testing') 
 parameters{ 
  stringParam('param1') 
 } 
}

1 个答案:

答案 0 :(得分:2)

这与Groovy有关。在Groovy中,只要我们每行使用一个语句,我们就可以在行尾留下分号。如果我们在一行上使用多个语句,我们必须使用分号来分隔语句。

因此,如果您希望代码在一行中,则应该执行

job('readyForIntegration'){displayName('Good For Integration Testing') ;parameters{ stringParam('param1') } }