詹金斯传递Active Choices参数的值

时间:2020-02-19 17:12:11

标签: jenkins groovy jenkins-pipeline

我有一个詹金斯工作,带有“主动选择参数”和“主动选择反应参数”。

pipeline {
   agent { label 'Agent_Name' }

   stages {
      stage('Build') {
         steps {
            script {
                def res=build job: 'App_Build', parameters: [string(name: 'ActiveChoicesParam', value: 'Dev'),string(name: 'ActiveChoicesReactiveParam', value: 'Server1')]
            }
         }
      }
   }
}

我正在尝试调用jenkins作业并使用管道脚本传递参数值。但是,出现以下错误:

参数“ ActiveChoicesParam”的类型不符合 App_Build。转换为有效选择参数。

参数“ ActiveChoicesReactiveParam”的类型不符合 App_Build。转换为主动选择反应参数。

它们(Dev和Server1)是有效值-如何传递这些值?

2 个答案:

答案 0 :(得分:1)

尝试将其设置为新的StringParameterValue

build(job: "App_Build",
    parameters: [
        new StringParameterValue('ActiveChoicesParam', 'Dev'),
        new StringParameterValue('ActiveChoicesReactiveParam', 'Server1')
    ],
)

答案 1 :(得分:0)

某种程度上,new StringParameterValue( 'key', 'value' )对我不起作用。我正在使用;

List<ParameterValue> newParams = [
  [$class: 'StringParameterValue' , name: 'ActiveChoicesParam'   , value: 'Dev' ] ,
  [$class: 'StringParameterValue' , name: 'ActiveChoicesReactiveParam', value: 'Server1'] ,
]

def res = build ( job: 'App_Build' ,
  propagate  : false ,
  wait       : true  ,
  parameters: newParams
)