Я пытаюсь отправить уведомления по электронной почте конкретному пользователю, чья ветвь в настоящее время проверена в процессе сборки Jenkins. Для этого я использовал соглашения об именах в переменных среды.
Например
master_MAIL = abcd@gmail.com
ABC_MAIL = xyz@gmail.com
Где MASTER
и ABC
являются фактическими именами ветвей.
env.GIT_LOCAL_BRANCH
дает мне имя текущего проверяемого филиала.
Исходя из текущего имени ветви, я должен выбрать правильную переменную среды и сохранить ее значение (почтовый идентификатор) в другой переменной среды.
pipeline {
agent any
environment {
CURRENT_MAIL = "\$${env.GIT_LOCAL_BRANCH}_MAIL"
// Here I am trying to pick the specific mail id of the branch being
// check out and store it to new environment variable named
// "CURRENT_MAIL".
// But This gives only the value "$master_MAIL" but not the value
// stored in master_MAIL environment variable.
}
stages {
}
post {
always {
mail (
from: ""
to: "$CURRENT_MAIL"
// Here I have to use that environment variable to send email to
// that specific user.
subject: "")
}
}
Ожидаемый результат: CURRENT_MAIL
переменная среды должна иметь значение, содержащееся в переменной окружения {Branchname}_MAIL
.
Например, предположим, что в моей конфигурации установлены эти две переменные среды:
master_MAIL = abc@gmail.com
ABC_MAIL = xyz@gmail.com
Тогда, если текущая проверяемая ветвь является ветвью master
, тогда переменная среды CURRENT_MAIL
должна иметь значение abc@gmail.com
.