Невозможно получить глобальную переменную BUILD_STATUS в jenkinsfile - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь отправить электронное письмо в jenkinsfile, тема письма содержит две переменные, одна из которых существует в jenkinsfile APP_NAME, а другая - jenkins. Глобальная переменная BUILD_STATUS

я получаю нулевое значение вместо фактического значения для статус сборки

environment {
    mvnHome = tool name: 'myMvn', type: 'maven'
    mvnCMD = "${mvnHome}/bin/mvn"
    APP_NAME = 'test'
  }



post {
              success {

                  emailext body: '$DEFAULT_CONTENT',
                          to: '$DEFAULT_RECIPIENTS',
                          subject: "${APP_NAME} Health Check: ${env.BUILD_STATUS}",
                          attachmentsPattern: "**/target/${APP_NAME}.jpg"
              }
          }

когда я сменил тему в форме ниже

'$ APP_NAME Health Check: $ BUILD_STATUS' с одинарной кавычкой, я получил фактический статус сборки, но APP_NAME появляется на email $ APP_NAME вместо действительного имени

как мне разрешить этот конфликт BUILD_STATUS нужна одинарная кавычка, но APP_NAME нужна двойная кавычка

1 Ответ

0 голосов
/ 16 апреля 2020

Решено При создании новой переменной включает в себя глобальную переменную BUILD_STATUS

  environment {
    DEFAULT_SUBJECT = 'Health Check: $BUILD_STATUS'
  }

Затем вызовите эту переменную, как показано ниже

 emailext body: '$DEFAULT_CONTENT',
                  to: '$DEFAULT_RECIPIENTS',
                  subject: "${APP_NAME} ${DEFAULT_SUBJECT}",
                  attachmentsPattern: "**/target/${APP_NAME}.jpg"
      }
...