{"id":18866469,"url":"https://github.com/nordcloud/codepipeline-datadog-events","last_synced_at":"2025-04-14T14:31:13.756Z","repository":{"id":39755121,"uuid":"185655901","full_name":"nordcloud/codepipeline-datadog-events","owner":"nordcloud","description":"Tool for monitoring AWS CodePipeline status and pushing events to Datadog, Slack and Cloudwatch.","archived":false,"fork":false,"pushed_at":"2023-10-27T01:01:58.000Z","size":1004,"stargazers_count":20,"open_issues_count":18,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T03:32:26.628Z","etag":null,"topics":["cloudwatch","codepipeline","datadog","slack"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nordcloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-08T18:02:54.000Z","updated_at":"2023-09-03T00:02:44.000Z","dependencies_parsed_at":"2023-02-06T12:45:53.075Z","dependency_job_id":null,"html_url":"https://github.com/nordcloud/codepipeline-datadog-events","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nordcloud%2Fcodepipeline-datadog-events","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nordcloud%2Fcodepipeline-datadog-events/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nordcloud%2Fcodepipeline-datadog-events/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nordcloud%2Fcodepipeline-datadog-events/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nordcloud","download_url":"https://codeload.github.com/nordcloud/codepipeline-datadog-events/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248897092,"owners_count":21179536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudwatch","codepipeline","datadog","slack"],"created_at":"2024-11-08T05:06:37.448Z","updated_at":"2025-04-14T14:31:13.439Z","avatar_url":"https://github.com/nordcloud.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aws-codepipeline-events\nMonitor your AWS CodePipelines with CloudWatch, Datadog and Slack.\n\nThis project was created as an internal tool to get information about succeeded and failed steps in CodePipelines deployed in almost all regions available in Amazon Web Services. As CloudWatch does not provide any metrics for this service, we had to create something on our own. Initial idea was to subscribe to Cloudwatch Events and push everything to Datadog Events, but then we have added integration for Slack and a scheduled lambda which pushes custom metric to CloudWatch.\n\n## Architecture\n\n![Alt text](img/aws-codepipeline-events.png?raw=true \"Title\")\n\n## Features\n- Datadog Events with information about changed pipeline, step and action statuses\n- Slack notification about changed pipeline status\n- Cloudwatch custom metric with pipeline status (0 - succeeded, 1 - in progress, 2 - failed)\n- Receives events from all regions.\n\n*Note*: this solution is not easily customizable and probably you will need to modify serverless.yml or handler.ts to remove features you do not need.\n\n## Requirements\n- Serverless Framework\n- Datadog API key stored as `/datadog/DD_API_KEY` in AWS SSM Paramter Store\n- Slack Webhook URL stored as `/slack/SLACK_WEBHOOK_URL` in AWS SSM Parameter Store\n\n## Deployment\n```console\nsls deploy --region eu-west-1 --stage prod\n```\n\nThis will create Lambda functions and SQS queue which is needed for next step.\n\n```console\nfor i in $(aws ec2 describe-regions --query \"Regions[].{Name:RegionName}\" --output text); do aws cloudformation deploy --stack-name codepipeline-events --template-file cfn/subscriber.yml --region $i --parameter-overrides \"PUT SQS ARN HERE\" --capabilities CAPABILITY_IAM; done\n```\nOr you can use StackSets 😉\n\n## Authors\n- Jakub Wozniak, Nordcloud 🇵🇱\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnordcloud%2Fcodepipeline-datadog-events","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnordcloud%2Fcodepipeline-datadog-events","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnordcloud%2Fcodepipeline-datadog-events/lists"}