Skip to content

jeremyarr/jenkins_badges

Repository files navigation

image

image

image

image

image

image

jenkins_badges is a small flask app that serves dynamic badge images based on data from Jenkins CI.

Supported badges

+----------------------+---------------------------------------------------------------------------------------------------------------+----------------------------------+ Examples | Default | +======================+===============================================================================================================+==================================+ .. image:: https://cdn.rawgit.com/jeremyarr/jenkins_badges/master/docs/_static/coverage_green.svg | 80% + | + +---------------------------------------------------------------------------------------------------------------+----------------------------------+ | | .. image:: https://cdn.rawgit.com/jeremyarr/jenkins_badges/master/docs/_static/coverage_yellow.svg | 20%-80% | + +---------------------------------------------------------------------------------------------------------------+----------------------------------+ | | .. image:: https://cdn.rawgit.com/jeremyarr/jenkins_badges/master/docs/_static/coverage_red.svg | < 20% | + +---------------------------------------------------------------------------------------------------------------+----------------------------------+ | | .. image:: https://cdn.rawgit.com/jeremyarr/jenkins_badges/master/docs/_static/coverage_error.svg | error getting coverage data | +----------------------+---------------------------------------------------------------------------------------------------------------+----------------------------------+

Features

  • Badge won't get stale.
  • Configurable coverage level colours
  • Compatible with private Jenkins instances
  • WSGI server compatible

Get it now

With pip:

$ pip install jenkins_badges

Jenkins Requirements

  • The anonymous user has read access or supply jenkins_badges with the credentials of a user who does (see below).
  • Cobertura plugin

Quickstart

  1. create app
import jenkins_badges

#path to your jenkins instance
base_url = "https://example.com/jenkins" 

# not required if anonymous jenkins user has read access
username = "apiuser" #a user with read access
token = "6c3bde145bcda49402b6914f2353a734" #user's token

app = jenkins_badges.create_app(base_url=base_url,
                                username=username,
                                token=token)
  1. run it!
app.run()

Output:

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
  1. Your coverage badge image should be accessible at http://127.0.0.1:5000/coverage/<JenkinsJobName>

Project Links

Kudos

License

MIT licensed. See the bundled LICENSE file for more details.