Bird
Raised Fist0
Jenkinsdevops~10 mins

Email notification plugin in Jenkins - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Email notification plugin
Job starts
↓
Build runs
↓
Build finishes
↓
Check build result
↓
Send email
↓
End
The Jenkins job runs a build, then depending on success or failure, it triggers the email notification plugin to send an email.
Execution Sample
Jenkins
pipeline {
  agent any
  stages {
    stage('Build') {
      steps { echo 'Building...' }
    }
  }
  post {
    success { mail to: 'team@example.com', subject: 'Build Success', body: 'Good job!' }
    failure { mail to: 'team@example.com', subject: 'Build Failed', body: 'Please check.' }
  }
}
This Jenkins pipeline sends an email after the build stage depending on success or failure.
Process Table
StepBuild StatusCondition CheckedEmail SentEmail Subject
1RunningN/ANoN/A
2SuccessSuccess?YesBuild Success
3SuccessFailure?NoN/A
4EndN/AN/AN/A
💡 Build finished with success, email sent with subject 'Build Success'.
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
buildStatusN/ARunningSuccessSuccessSuccess
emailSentNoNoYesYesYes
emailSubjectN/AN/ABuild SuccessBuild SuccessBuild Success
Key Moments - 2 Insights
Why is the email sent only after the build finishes and not during the build?
The execution_table shows that email is sent only after the buildStatus changes to Success or Failure (Step 2), ensuring notifications reflect final build results.
What happens if the build fails? Does the success email get sent?
According to the execution_table, if the build fails, the failure condition triggers email sending, and the success email is not sent (Step 3 shows no success email sent).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, at which step is the email with subject 'Build Success' sent?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Check the 'Email Sent' and 'Email Subject' columns in execution_table rows.
According to variable_tracker, what is the value of 'buildStatus' after Step 1?
ARunning
BFailure
CSuccess
DN/A
💡 Hint
Look at the 'buildStatus' row under 'After Step 1' in variable_tracker.
If the build failed, which email subject would be sent according to the plugin logic?
ABuild Success
BBuild Failed
CBuild Running
DNo email sent
💡 Hint
Refer to the concept_flow and execution_table showing email subjects for failure.
Concept Snapshot
Jenkins Email Notification Plugin:
- Sends emails after build completion.
- Use 'post' block in pipeline for success/failure.
- 'mail' step sends email with to, subject, body.
- Emails reflect final build status only.
- Helps team stay informed automatically.
Full Transcript
In Jenkins, the Email Notification Plugin sends emails after a build finishes. The pipeline runs the build stage, then checks if the build succeeded or failed. Depending on the result, it sends an email with a subject like 'Build Success' or 'Build Failed'. The execution table shows the build status changing from running to success, triggering the email. Variables track the build status and email details step by step. This ensures notifications only go out after the build is complete, keeping the team updated on results.

Practice

(1/5)
1. What is the main purpose of the Jenkins Email Notification plugin?
easy
A. To deploy applications to servers
B. To automatically send emails about build status
C. To monitor server CPU usage
D. To create new Jenkins jobs

Solution

  1. Step 1: Understand the plugin's function

    The Email Notification plugin is designed to send emails automatically when a build finishes.
  2. Step 2: Identify the correct purpose

    It helps keep the team informed by sending build status emails without manual effort.
  3. Final Answer:

    To automatically send emails about build status -> Option B
  4. Quick Check:

    Email Notification plugin = automatic build emails [OK]
Hint: Email plugin = auto send build status emails [OK]
Common Mistakes:
  • Confusing with deployment tools
  • Thinking it monitors server health
  • Assuming it creates jobs
2. Which of the following is the correct syntax to enable email notifications in a Jenkins pipeline script?
easy
A. sendEmail(subject: 'Build Status', body: 'Build completed', to: 'team@example.com')
B. emailNotify(subject: 'Build Status', body: 'Build completed', to: 'team@example.com')
C. emailext(subject: 'Build Status', body: 'Build completed', to: 'team@example.com')
D. notifyEmail(subject: 'Build Status', body: 'Build completed', to: 'team@example.com')

Solution

  1. Step 1: Recall Jenkins pipeline email syntax

    The Email Extension plugin uses the emailext step to send emails.
  2. Step 2: Match the correct function name and parameters

    Only emailext(subject: 'Build Status', body: 'Build completed', to: 'team@example.com') uses emailext with correct parameters: subject, body, and to.
  3. Final Answer:

    emailext(subject: 'Build Status', body: 'Build completed', to: 'team@example.com') -> Option C
  4. Quick Check:

    Use emailext for email notifications [OK]
Hint: Use 'emailext' step for Jenkins email notifications [OK]
Common Mistakes:
  • Using incorrect function names
  • Missing required parameters
  • Confusing with other plugins
3. Given this Jenkins pipeline snippet:
pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        echo 'Building...'
      }
    }
  }
  post {
    failure {
      emailext(
        subject: 'Build Failed',
        body: 'Please check the build logs.',
        to: 'devteam@example.com'
      )
    }
  }
}

What happens if the build fails?
medium
A. An email with subject 'Build Failed' is sent to devteam@example.com
B. No email is sent because the syntax is wrong
C. An email is sent only if the build succeeds
D. The build will retry automatically

Solution

  1. Step 1: Analyze the post-failure block

    The post { failure { ... } } block runs only if the build fails.
  2. Step 2: Understand the emailext usage

    The emailext step sends an email with the given subject and body to the specified address.
  3. Final Answer:

    An email with subject 'Build Failed' is sent to devteam@example.com -> Option A
  4. Quick Check:

    Post failure triggers email = An email with subject 'Build Failed' is sent to devteam@example.com [OK]
Hint: Post failure block sends email on build failure [OK]
Common Mistakes:
  • Thinking email sends on success
  • Assuming syntax error without checking
  • Confusing retry with email notification
4. You configured the Email Notification plugin but no emails are sent after build failures. Which is the most likely cause?
medium
A. SMTP server settings are missing or incorrect
B. The Jenkins job has no build steps
C. The build always succeeds
D. The plugin is not installed

Solution

  1. Step 1: Check email sending prerequisites

    Jenkins needs correct SMTP server settings to send emails.
  2. Step 2: Identify common misconfiguration

    If SMTP settings are missing or wrong, emails won't send even if plugin is configured.
  3. Final Answer:

    SMTP server settings are missing or incorrect -> Option A
  4. Quick Check:

    SMTP config missing = no emails sent [OK]
Hint: Verify SMTP settings to fix email sending issues [OK]
Common Mistakes:
  • Ignoring SMTP configuration
  • Assuming plugin auto-configures SMTP
  • Thinking build steps affect email sending
5. You want to send an email notification only when the build status changes (e.g., from success to failure or failure to success). Which Email Notification plugin feature should you use?
hard
A. Use the 'Send e-mail for every unstable build' option
B. Use the 'Always send e-mail' option
C. Configure a post-build script to check status manually
D. Enable 'Send e-mail only on status change' in the plugin settings

Solution

  1. Step 1: Understand the requirement

    The goal is to send emails only when build status changes, not every build.
  2. Step 2: Identify plugin feature for status change

    The Email Notification plugin has an option named 'Send e-mail only on status change' to handle this.
  3. Step 3: Compare other options

    Options A and D send emails more frequently; Configure a post-build script to check status manually requires manual scripting.
  4. Final Answer:

    Enable 'Send e-mail only on status change' in the plugin settings -> Option D
  5. Quick Check:

    Status change emails = enable plugin's status change option [OK]
Hint: Enable 'send only on status change' to reduce email noise [OK]
Common Mistakes:
  • Choosing options that send emails every build
  • Ignoring built-in plugin features
  • Overcomplicating with manual scripts
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard