Как отправить письмо с вложением в jenkinsfile (Groovy Script)? - PullRequest
0 голосов
/ 09 января 2019

Я хочу отправить электронное письмо после пост-сборки в jenkins. Поэтому я написал jenkinsfile следующим образом. Но мне нужен какой-то отличный скрипт для 1. Приложение для zip-файла 2. Перед тем как прикрепить файл, мне нужно конвертировать папку в формат zip.

Примечание: Пожалуйста, не предлагайте процедуру и настройку плагина электронной почты. Я предпочел конфигурацию метода файла Jenkins

 pipeline {
    agent any
    stages {
        stage('Testing') {
            steps {
                sh 'chmod +x mvnw'
                sh './mvnw clean verify serenity:aggregate'
            }
        }
    }
    post {
        failure {
            script {
                mail (to: 'email@gmail.com',
                        subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) failed",
                        body: "Please visit ${env.BUILD_URL} for further information"
                );
                }
            }
         success {
             script {
                mail (to: 'email@gmail.com',
                        subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) success.",
                        body: "Please visit ${env.BUILD_URL} for further information.",


                  );
                }
          }      
    }
}

1 Ответ

0 голосов
/ 09 января 2019

вам нужно использовать утилиту jekins zip для создания zip-файла для папки, а затем использовать плагин emailext для отправки электронной почты с вложением, см. Пример ниже:

 pipeline {
    agent any
    stages {
        stage('Testing') {
            steps{
               bat "del test.zip"
               zip zipFile: 'test.zip', archive: false, dir: 'directory pattern as per your structure'
            }
        }
    }
    post {
        failure {
            emailext attachmentsPattern: 'test.zip', body: '''${SCRIPT, template="groovy-html.template"}''', 
                    subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - Failed", 
                    mimeType: 'text/html',to: "email id"
            }
         success {
               emailext attachmentsPattern: 'test.zip', body: '''${SCRIPT, template="groovy-html.template"}''', 
                    subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - Successful", 
                    mimeType: 'text/html',to: "email id"
          }      
    }
}
...