Simple tools to monitor your project's CI health
Ramanathan Muthaiah (~ramanathan) |
With the open source Jenkins servings as the CI tool in your enterprise, are you heavily dependent on GUI to keep track of the health of your project's continuous integration status? How concerned are you, to keep abreast of the build breakages? Rather than navigating through several layers of GUI, are you keen to quickly know the status of last couple of builds, for several active branches?
If the answers to these questions are in the affirmative, then be ready to join this talk. Intent is to present simple methods to query Jenkins' REST API using Python's 'requests' package; this is not part of the standard library set and should be installed separately.
This talk will showcase how to combine the 'requests' package and the REST API, provided by Jenkins, to automate the collection of data that's essential to know the health of a given project.
We will begin with confirming the access to the publicly accessible instance of TYPO3's Chef CI Jenkins. This will be followed by presenting code snippets to list all the top-level projects, query specific projects in the top-level project, collect all the subprojects that map to the respective GitHub repository in TYPO3-cookbooks org. For each subproject, collect data about the active branch build jobs, and combine this data to prepare reports, communicate health status to stakeholders.
In the conclusion, further areas of automation shall be presented, like, means to monitor build agents, ways to identify and purge obsolete builds, visual representation of project data using Jupyter notebook, and packages like, numpy and matplotlib.
- Python programming experience
- Basic knowledge about the popular HTTP package, requests.
- Familiarity with any version of open source automation server, Jenkins
Draft slides and a short video can be accessed here,
Ram pursues to be active contributor to open source by way of contributing articles to various magazines.