Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to invoke email-ext plugin from Jenkins declarative script?

I am writing a simple Jenkins declarative script to run 'make' and send an email with the result (success/failure).

I can send a simple email using:

post {
    success {
        mail to:"[email protected]", subject:"${currentBuild.fullDisplayName} - Failed!", body: "Success!"
    }
    failure {
        mail to:"[email protected]", subject:"${currentBuild.fullDisplayName} - Failed!", body: "Failure!"
    }
}

The resulting email is rather simplistic.

How can I call the email-ext plugin from the script to send an old-style post-build email? (I guess this should use email-ext's groovy-text.template).

I would like to be able to access lists like CulpritsRecipientProvider and to include the tail of the console log.

like image 859
DavidA Avatar asked May 15 '17 14:05

DavidA


1 Answers

You can use it in this way:

emailext (
    subject: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
    body: """<p>STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
        <p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
    recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)

For more information you can check:

  • Sending Notifications in Pipeline
  • Email Extension Plugin
like image 91
Daniel Hernández Avatar answered Nov 14 '22 18:11

Daniel Hernández