AWS Codepipeline Notification
Since communication in teams became more efficient and messengers such as Slack or MS Teams became a hub for developers, why don't keep all neccessary information handy in one place? Like the status of your Codepipeline. You will get notified of any failed state and the approval action only as of right now.
How it works
Cloudwatch Events Rule trigger a Lambda which sends out basic information about the state of your CodePipeline to either Slack or MS Teams in the appropriate Format using an incoming Webhook which needs to be configured on either of the messengers.
How to deploy it
You can deploy this application by cloning the github repository and packaging the template using Cloudformation.
Package it first and upload to S3:
aws cloudformation package \
--template-file CF-PipelineNotification.yaml\
--s3-bucket <YourBucketName> \
--output-template-file packaged-PipelineNotification.yaml
Then deploy it as a cloudformation stack:
aws cloudformation deploy \
--template-file packaged-PipelineNotification.yaml \
--stack-name CF-PipelineNotification \
--capabilities CAPABILITY_IAM \
--parameter-overrides \
WebhookUrl=<YourWebhookUrl> \
Env=<slack/msteams>
Preview
How it looks like:
Github
Further information and the source code can be found here:
Related posts
CloudFormation Best Practices
Recommendations that can help you to use CloudFormation more effectively and securely throughout its entire workflow.
Terraform CI/CD Best Practices
Running Terraform in Automation
How to access AWS Cloud9 IDE from VSCode?
Run Terraform and Ansible from the online IDE