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.

Codepipeline Notification graph
Codepipeline Notification graph

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:

Slack message preview
Slack message preview

MS Teams message preview
MS Teams message preview

Github

Further information and the source code can be found here:

Github repository



      

CloudFormation vs. Terraform

What are the differences? Which tool is the best for your needs?

 

Feb 28th 2020

 

David Krohn

Shortcuts for AWS Infrastructure Automation

For some AWS services you can use the AWS console UI for guidance and creating the first version and almost extract most of the automation

 

Jan 15th 2020

 

MJ

CloudFormation security validation

Integrate cfn-nag to validate all CloudFormation files

 

Nov 15th 2019

 

Joao Carvalho