Передайте Groovy List в качестве параметра команде Build в Jenkinsfile

Я хочу иметь возможность передавать переменную List в команду Build в Jenkinsfile что-то вроде:

stage('test') {
  def listName = []
  build job: "/job/jobname", parameters: listName, propagate: false
}

Когда я пытаюсь что-то вроде этого, я получаю сообщение об ошибке:

hudson.model.PasswordParameterValue ~ PasswordParameterValue (имя: строка, значение: строка, описание: строка)}[], распространение?: логический, quietPeriod?: int, wait?: логическое): java.lang.ClassCastException: класс org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep.setParameters() ожидает java.util.List, но получил класс java.lang.String

1 ответ

Смог пройти через это, используя приведенный ниже код:

stage('test') {
   def listName = []
   listName .add([$class: 'StringParameterValue', name: "${listKey}", value: "${list.value}"])
   build job: "/job/jobname", parameters: listName, propagate: false
}

Вы должны пройти Map в parameters:

stage('test') {
  def listName = [string(name: 'PARAM_NAME', value: "PARAM_VALUE")]
  build job: "/job/jobname", parameters: listName, propagate: false
}
Другие вопросы по тегам