Jenkins не отправляет электронную почту, если набор изменений не пуст и статус не является ошибкой - PullRequest
0 голосов
/ 20 января 2020

У меня происходит нечто действительно странное.

Я использую скриптовый конвейер jenkins для отправки электронного письма с плагином ext для электронной почты и шаблоном groovy - html .template. Письмо отправляется правильно, если набор изменений пуст или если результатом сборки является сбой, но если результат сборки находится в (SUCCESS, UNSTABLE) и набор изменений не пуст, я никогда не получаю электронное письмо ... Я просмотрел все логи jenkins и не нашел ошибок, которые могли бы объяснить это поведение. Проблема также происходит с желе шаблона электронной почты html или groovy text.

Есть идеи, почему я получаю такое поведение?

Вот мой код:

emailext(
        subject: 'Deployment',
        body: '${SCRIPT, template="groovy-html.template"}',
        to: 'email@address.com')

А вот и полный конвейер .

1 Ответ

0 голосов
/ 20 января 2020

Хотите ли вы использовать декларативный конвейер?

изменить этот раздел

node('master') {
    checkout(scm: [$class: 'GitSCM', 
        branches: [[name: "*/develop"]],
        extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'repo1']], 
        userRemoteConfigs: [[credentialsId: 'bitbucket.jenkins', 
        url: 'urlToRepo.git']]],
        changelog: true, poll: true)

    showChangeLogs()

    //currentBuild.result = 'FAILURE'

    emailext(
        subject: 'Deployment',
        body: '${SCRIPT, template="groovy-html.template"}',
        to: 'email@address.com')
}

на этот

pipeline {
    agent any
    stages {
        stage('master') {
            steps {
                script {
                    checkout(scm: [$class: 'GitSCM', 
                        branches: [[name: "*/develop"]],
                        extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'repo1']], 
                        userRemoteConfigs: [[credentialsId: 'bitbucket.jenkins', 
                        url: 'urlToRepo.git']]],
                        changelog: true, poll: true)

                    showChangeLogs()

                    //currentBuild.result = 'FAILURE'

                }
            }
        }
    }
    post { 
        always { 
            emailext(
                subject: 'Deployment',
                body: '${SCRIPT, template="groovy-html.template"}',
                to: 'email@address.com')
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...