我知道您可以直接在Jenkins工作流中访问构建参数。我有一个名为BRANCH_REVISION的参数,我需要更新它,以便对xmlapi的调用将显示新值而不是原始值。这是我在一个非工作流脚本中使用以下groovy片段所做的事情:
def currentParamActions = build.getAction(ParametersAction.class)
def currentParams = currentParamActions.getParameters()
currentParams.each() {
if ( it.name.equals("BRANCH_REVISION") ) {
newParams.add( new StringParameterValue("BRANCH_REVISION", newRevision ) )
}
else {
newParams.add( it )
}
}
build.actions.remove(currentParamActions)
new_param_actions = currentParamActions.createUpdated(newParams)
build.actions.add(new_param_actions)
但是,这在工作流中似乎不起作用,因为生成对象不可访问。提前感谢您的帮助!
请参阅<工作流作业配置>rarr工作流→☑ 代码段生成器&rar全局变量→变量:currentBuild:
currentBuild
变量可用于引用当前运行的构建。它是一个类似于为build
步骤的返回值记录的对象。
根据org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
,即currentBuild
的类型,在问题的代码中使用currentBuild.build()
而不是build
。