Я пытаюсь установить переменную среды в конвейерном задании Jenkins на основе параметра, переданного в задание; таким образом, я могу использовать переменную окружения на каждой стадии конвейера, которая этого требует. Я попытался использовать оператор switch в блоке среды:
parameters {
choice(name: 'ENVIRONMENT', choices: 'dev\nst\nprod', description: 'Environment')
}
environment {
script {
switch(env.ENVIRONMENT) {
case 'dev':
BRANCH = master
break
case 'st':
BRANCH = 2020Q1
break
case 'prod':
BRANCH = 2019Q4
break
}
}
}
Однако это не сработало, задание попыталось оценить все строки до знака равенства в качестве имени KEY:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 9: "script {
switch(env.ENVIRONMENT) {
case 'dev':
BRANCH" is not a valid identifier and cannot be used for an environment variable. Identifiers must start with a letter or underscore and can contain only letters, numbers or underscores. @ line 9, column 7.
script {
Как мне заставить это работать?