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

时间:2015-10-31 15:47:01

标签: groovy jenkins parameters workflow

我知道您可以直接在Jenkins工作流中访问构建参数。我有一个名为BRANCH_REVISION的参数,我需要更新,以便调用xml api将显示新值而不是原始值。这是我在使用以下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)

但是,似乎这在Workflow中不起作用,因为无法访问构建对象。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

请参阅<工作流程作业配置> →工作流程代码段生成器→全局变量→变量:currentBuild

  

currentBuild变量可用于引用当前正在运行的构建。它是一个类似于build步骤的返回值记录的对象。

根据currentBuild.build()的类型org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper,在问题代码中使用build代替currentBuild