使用groovy变量

时间:2017-03-31 08:13:34

标签: jenkins groovy jenkins-plugins jenkins-pipeline

我有一个Jenkins Freestyle作业,在Build区域中有一个系统groovy脚本。执行脚本后,我想触发管道作业。管道作业需要一个在我的groovy scipt中定义的变量。

if(condition1){
    var = 'String1'
}else{
    var = 'String2'
}

但是我需要在" post-build-action"之后访问变量var。步骤"触发器参数化构建其他项目"选项以var作为参数触发我的管道。这可能吗?

2 个答案:

答案 0 :(得分:0)

是的,有可能。您可以在属性文件中将变量简单地写为键值对,并通过指定Parameters from properties file将其加载到构建后操作中。

您可以像这样保存属性文件

def fw = new OutputStreamWriter(new FileOutputStream("params.properties",true), 'UTF-8')
def props = new Properties()
props.setProperty('TESTPARAM', var)
props.store(fileWriter, null)
fw.close()

答案 1 :(得分:0)

我通过以下方式解决了我的问题:

在构建之前,我定义一个参数以使用参数化触发器插件。在我的系统groovy脚本中,我用

覆盖它
def newMailParameter = new StringParameterValue('MAIL_PARAM', mailsFromWS)
build.replaceAction(new ParametersAction(newMailParameter))

现在我可以触发下一个作业并在其中使用我的参数MAIL_PARAM