aws / aws/aws-cdk

[Feature Request] Cloudformation Badge Construct

Open
#4,072 3 comments 8 reactions 0 assignees View on GitHub
@aws-cdk/aws-codebuild @aws-cdk/aws-codepipeline effort/large feature-request needs-design p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

## :rocket: Feature Request

Dynamic Cloudformation Badge Construct

### General Information

* [ ] :wave: I may be able to implement this feature request

* [ ] :warning: This feature might incur a breaking change

### Description

There is NOTHING more annoying than having to update the CodeBuild / CodePipeline status badge manually on a github project repo README.md. Nothing. JK. It is annoying though.

Wouldn't it be great if there was a CDK construct you could add to your Codebuild / Codepipeline stack and an easy svg url to put on a readme that could make this easier?

### Proposed Solution

Although I don't have a solution for a construct this person actually wrote a CF template that does this: https://github.com/galaxy4public/aws-cloudformation-badges

Because it's a stack level component the CDK version would look something like this:

```typescript
const app = new cdk.App();

const pipeline1 = new PipelineStack(app, 'Pipeline1', env );
const pipeline2 = new PipelineStack(app, 'Pipeline2', env );
const pipeline3 = new PipelineStack(app, 'Pipeline3', env );

const project1 = new ProjectStack(app, 'Project1', env );
const project2 = new ProjectStack(app, 'Project2', env );
const project3 = new ProjectStack(app, 'Project3', env );

// following the parameters from the CF template included in the sample project
new CloudformationBadges(this, 'MyStatusBadge', {
projects: ['project1', 'project2'],
pipelines: ['pipeline1', 'pipeline2'],
})
```

Maybe v1 could incorporate a single project / pipeline.

### Environment

- **CDK CLI Version:**
- **Module Version:**
- **OS:**
- **Language:**

### Other information

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked aws-cloudformation-badges template and the proposed TypeScript usage in this issue. Determine the construct’s supported project and pipeline inputs and how it will expose an SVG badge URL; done means a documented construct design and implementation scope that covers the requested status badges.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.