aws-codepipeline-notification-cdk-construct
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

AWS CodePipeline Notification

A simple notification application sending different status of your AWS CodePipeline to Slack or MS Teams using an incoming Webhook. You will get notified for any failed state and the approval action only (additional states need new CW Event Rules).

Cloudwatch Events Rule trigger a Lambda which sends out information about the state of your CodePipeline to either Slack or MS Teams in the appropriate Format using an incoming Webhook API.

Webhook Notification Diagramm


Table of contents


Preview

Slack

Slack

MS Teams

MS Teams


AWS Lambda Function

  • Runtime: Python 3.8
  • Code: PipelineNotification.py
  • Environment variables:
KEY VALUE SCOPE
WebhookUrl https://your_webhook_url Required
Messenger slack / msteams Required

Prerequisites

The messages will send via incoming webooks, which need to be configured on Slack or Microsoft Teams

Installation

The installation is automated with Infrastructure as Code using CloudFormation.

The stack includes:

  • Lambda basic execution role
  • Permission for Cloudwatch Events to invoke Lambda
  • CW Event Rules
  • Python Lambda

for contributor

first step

$ nvm use
$ yarn

compile in the background

$ yarn watch

IMPORTANT!

DO NOT EDIT by package.json

to check specific source

once you build your source.

$ yarn build

then, execute synth, deploy etc...

$ cdk synth --app='./lib/integ.xxxx.default.js'
or
$ cdk deploy --app='./lib/integ.xxxx.default.js'

example of codepipeline event for lambda

{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-24T22:03:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "execution-trigger": {
            "trigger-type": "StartPipelineExecution",
            "trigger-detail": "arn:aws:sts::123456789012:assumed-role/Admin/my-user"
        },
        "state": "STARTED",
        "stage": "test",
        "action": "Approval",
        "version": 1
    }
}

Dependents (0)

Package Sidebar

Install

npm i aws-codepipeline-notification-cdk-construct

Weekly Downloads

0

Version

0.0.2

License

Apache-2.0

Unpacked Size

464 kB

Total Files

24

Last publish

Collaborators

  • justincase-tech