如何在Jenkins工作流中编辑构建参数



我知道您可以直接在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

最新更新