我有一个Jenkins Freestyle作业,在Build区域中有一个系统groovy脚本。执行脚本后,我想触发管道作业。管道作业需要一个在我的groovy scipt中定义的变量。
if(condition1){
var = 'String1'
}else{
var = 'String2'
}
但是我需要在" post-build-action"之后访问变量var
。步骤"触发器参数化构建其他项目"选项以var
作为参数触发我的管道。这可能吗?
答案 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
。