Как отправить электронное письмо пользователям, у которых есть изменения в сборке jenkins - PullRequest
1 голос
/ 06 февраля 2020

Я использую скриптовый конвейер jenkins. Если сборка не удалась, я sh отправлю электронное письмо в список пользователей, у которых есть изменения (коммиты). Я прошу людей, чтобы помочь мне получить список пользователей и отправлять электронную почту только им

1 Ответ

2 голосов
/ 06 февраля 2020

Решение состоит в том, чтобы использовать jenkins-pipe post task с плагином email-ext . Пожалуйста, обратитесь к:

  • Трубопровод столб участок: https://jenkins.io/doc/pipeline/tour/post/

  • Email-ext плагин: https://jenkins.io/doc/pipeline/steps/email-ext/

    • виновников: Отправка электронной почты в список пользователей, совершивших изменить с момента последней неразрушенной сборки до сих пор. Этот список, по крайней мере, всегда включает людей, которые внесли изменения в эту сборку, но если предыдущая сборка была неудачной, он также включает список преступников.

Приведенный ниже конвейер должен решить вашу проблему:

Пример декларативного конвейера:

pipeline {

    agent any

    stages {
        ...
    }
    post {
        failure { 
            emailext body: "your email body here",
                     mimeType: 'text/html',
                     subject: "your subject here",
                     to: emailextrecipients([
                         [$class: 'CulpritsRecipientProvider']
                     ])
        }
    }
}

Пример скриптового конвейера:

def postFailure() {
    emailext body: "your email body here",
                     mimeType: 'text/html',
                     subject: "your subject here",
                     to: emailextrecipients([
                         [$class: 'CulpritsRecipientProvider']
                     ])
}

node {
    try {
        ...
    } catch (e) {
        postFailure()
        throw e
    }
}
...