在Groovy系统脚本中更改作业参数值

Rod*_*ble 6 groovy jenkins

我的参数化Freestyle作业有一个字符串参数.MAIL_PARAM使用默认值FREESTYLE_ERROR.

我可以打印值:

println "MAIL_PARAM=$Mail_Param"  
Run Code Online (Sandbox Code Playgroud)

在Groovy内部执行脚本.现在我想根据一些条件更改此参数的值.但我无法改变它.我试过了:

MAIL_PARAM = 'String'
$MAIL_PARAM ='String'
${MAIL_PARAM} ='String'
def params = new StringParameterValue('MAIL_PARAM', 'String') 
Run Code Online (Sandbox Code Playgroud)

还有一些,但没有一个在起作用.我必须改变它,因为基于我的groovy脚本的一些结果,我需要在我的参数内部使用不同的字符串.

在groovy脚本之后,我需要将此参数传递给下一个作业.这很好用.但我只得到默认值.

Hug*_* M. 9

如果我理解正确,replaceAction应该做的伎俩(还有addOrReplaceAction):

import hudson.model.ParametersAction
import hudson.model.ParameterValue
import hudson.model.StringParameterValue
def newMailParameter = new StringParameterValue('MAIL_PARAM', '...')
build.replaceAction(new ParametersAction(newMailParameter))
Run Code Online (Sandbox Code Playgroud)

编辑:如果您收到错误"当前版本没有任何参数",请尝试使用"build.addOrReplaceAction"代替"build.replaceAction".