我知道您可以直接在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中不起作用,因为无法访问构建对象。在此先感谢您的帮助!
答案 0 :(得分:4)
请参阅<工作流程作业配置> →工作流程→☑代码段生成器→全局变量→变量:currentBuild :
currentBuild
变量可用于引用当前正在运行的构建。它是一个类似于build
步骤的返回值记录的对象。
根据currentBuild.build()
的类型org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
,在问题代码中使用build
代替currentBuild
。