Pipeline Notifications
New
Get notified when deployments succeed or fail via Email, Slack, and GitHub
Overview
Set up comprehensive deployment notifications to stay informed about your CI/CD pipeline status. This guide covers three notification channels:
| Channel | What You Get | Best For |
|---|---|---|
| Email (SNS) | Email when pipeline succeeds or fails | Personal notifications, audit trail |
| Slack | Messages posted to a channel | Team visibility, quick response |
| GitHub Status | Commit badges (✓ or ✗) | PR reviews, deployment tracking |
Architecture
The notification system uses AWS EventBridge to capture CodePipeline state changes, then routes events to SNS (email) and a Lambda function (Slack + GitHub).
Setup Steps
1
Create Prerequisites
Set up Slack webhook and GitHub token for notifications.
2
Deploy CloudFormation Stack
Deploy the notification infrastructure using AWS CloudFormation.
3
Confirm Email Subscription
Click the confirmation link in your email to activate SNS notifications.
4
Test Notifications
Push a commit to trigger the pipeline and verify notifications work.
1. Slack Webhook (Optional)
Create an incoming webhook to post deployment notifications to a Slack channel:
- Go to https://api.slack.com/apps
- Click Create New App → From scratch
- Name:
AWS Pipeline Notifications - Select your workspace
- Go to Incoming Webhooks → Toggle Activate
- Click Add New Webhook to Workspace
- Select the channel for notifications
- Copy the webhook URL (starts with
https://hooks.slack.com/services/...)
Slack Webhook Format
Your webhook URL should look like:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX2. GitHub Personal Access Token (Optional)
Create a token to update commit status badges on your repository:
- Go to https://github.com/settings/tokens
- Click Generate new token (classic)
- Note:
AWS Pipeline Status - Select scope:
repo:status(only this is needed) - Click Generate token
- Copy the token immediately (you won't see it again)
Token Security
The GitHub token will be stored securely in AWS Secrets Manager, not in plain text. Never commit tokens to your repository.