Dynamic readme badges using shields.io, the Buildkite API, and any piece of build meta-data
1.5K
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 cloneenv BUILDKITE_API_KEY=xxx npm run webPull requests welcome!
See the License file for license rights and limitations (MIT).
Content type
Image
Digest
Size
12.3 MB
Last updated
about 10 years ago
docker pull buildkite/dynamic-build-badges