Параметризованные свойства конвейера Jenkins: не могу использовать параметры в разделе свойств

#jenkins #jenkins-pipeline #jenkins-&roovy

#jenkins #jenkins-конвейер #jenkins-&roovy

Вопрос:

Я пытаюсь задать свойства по фактическому имени задания.

Заголовок моего конвейера выглядит следующим образом:

 def jobs_actual_name = [
       choice(name: 'var', choices: ['choice1', 'choice2', 'choice3']),
    ]

properties([
    parameters(jobs_actual_name)
])
  

Верхний конвейер работает нормально, но я хочу использовать параметр вместо прямого указания имени.
Нравится:

 def jobs_actual_name = [
       choice(name: 'var', choices: ['choice1', 'choice2', 'choice3']),
    ]
def another_jobs_actual_name = [
       choice(name: 'var', choices: ['choice1', 'choice2', 'choice3']),
    ]

properties([
    parameters("${env.JOB_BASE_NAME}")
])
  

Как бы мне это сделать? Заранее спасибо.

Ответ №1:

Перед настройкой свойств можно выполнить некоторую логику:

 def actualParameters = (env.JOB_BASE_NAME == 'jobs_actual_name' ? jobs_actual_name : another_jobs_actual_name)

properties([
    parameters(actualParameters)
])