buildkite/dynamic-build-badges
Dynamic readme badges using shields.io, the Buildkite API, and any piece of build meta-data
184
A dynamic build badge server that uses the Buildkite Builds API and shields.io to turn any of your build meta-data values into a readme badge. Embed your code coverage, build timings, latest commit running on production, or anything you like!
For example, say you had the following code snippet somewhere in your my-org/my-pipeline
build pipeline:
buildkite-agent meta-data set coverage '95%'
To show the value from the last passing master build, you’d:
<img src="https://my-app.heroku.com/my-org/my-pipeline/coverage?label=Coverage" alt="Coverage">
which would look like:
Available parameters:
branch
- the branch to find the latest build from. Default is master
.state
- the required state of the latest build on the branch. Default is passed
.label
- the label for the badge. Default is meta-data key name.color
- any valid SVG named color or hex value (e.g. red
or ff0033
). Default is green
.style
- shields.io style (e.g. flat-square
)logo
- shields.io logo (e.g. data:image/png;base64,…
)logoWidth
- shields.io logoWidth (e.g. 40
)Create an API token
Create a Buildkite API Token with read_builds
access so it can fetch the latest build and grab its meta-data. Copy the API key and paste it into the next step…
Embeddinate your badges :tada:
You can also run this via Docker using buildkite/dynamic-build-badges
:
docker run -p 8080:8080 -e BUILDKITE_API_KEY=xyz buildkite/dynamic-build-badges
range
parameter, and have the color change from red → green depending on the valuegit clone
env BUILDKITE_API_KEY=xxx npm run web
Pull requests welcome!
See the License file for license rights and limitations (MIT).
docker pull buildkite/dynamic-build-badges