Как использовать $ {currentBuild.result}, чтобы указать «УСПЕХ», а не «ноль» - PullRequest
0 голосов
/ 02 октября 2018

Мой декларативный конвейер Jenkins имеет следующее почтовое действие:

mail to: '<snip>',
        subject: "Status of pipeline: ${currentBuild.fullDisplayName}",
        body: "${env.BUILD_URL} has result ${currentBuild.result}"

Когда сборка завершается успешно, содержимое тела письма имеет вид:

<job name> has result null

Я понимаю, что значение ${currentBuild.result} "имеет значение NULL, когда задание выполнено успешно, но это не удобно для пользователя. Каков рекомендуемый способ печати« УСПЕХ »(или« СБОЙ »и т. д.) в сообщении тела?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Вместо этого используйте ${currentBuild.currentResult}.

См. https://qa.nuxeo.org/jenkins/pipeline-syntax/globals#currentBuild:

currentResult

, как правило, SUCCESS, UNSTABLE или FAILURE.Никогда не будет нулевым.

Также см. https://issues.jenkins.io/browse/WEBSITE-364

0 голосов
/ 02 октября 2018

Вы можете добавить шаг почты внутри шага записи в конвейере, как показано ниже:

pipeline {
agent any
stages {
    stage('Example Test') {
        steps {
            echo 'Hello, JDK'
        }
       }
     }
post {
 success {
     echo "${env.BUILD_URL} has result success"
      }
 failure {
     echo "${env.BUILD_URL} has result fail"
      }
     }
 }
...