Book Image

Extending Jenkins

By : Donald Simpson
Book Image

Extending Jenkins

By: Donald Simpson

Overview of this book

Jenkins CI is the leading open source continuous integration server. It is written in Java and has a wealth of plugins to support the building and testing of virtually any project. Jenkins supports multiple Software Configuration Management tools such as Git, Subversion, and Mercurial. This book explores and explains the many extension points and customizations that Jenkins offers its users, and teaches you how to develop your own Jenkins extensions and plugins. First, you will learn how to adapt Jenkins and leverage its abilities to empower DevOps, Continuous Integration, Continuous Deployment, and Agile projects. Next, you will find out how to reduce the cost of modern software development, increase the quality of deliveries, and thereby reduce the time to market. We will also teach you how to create your own custom plugins using Extension points. Finally, we will show you how to combine everything you learned over the course of the book into one real-world scenario.
Table of Contents (16 chapters)
Extending Jenkins
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Automating the job


The next hurdle for our simple Information Radiator is automating and scheduling the job, and, as you'd expect, we can do this very quickly and easily in Jenkins.

Just create a new Jenkins job that fetches the corresponding URL (with /api/xml at the end) and feed this to your XML parsing script to extract the current values.

Many programming and scripting languages have a built-in XML or web fetching abilities, but if you prefer, you can use curl or wget to fetch the data and then pass this to your script.

The Jenkins job can be scheduled to run at a frequency that suits you—you can do this through the inbuilt cron function using the standard cron notation; for example, you can set your job to run every two minutes, as follows:

In this entry, I have specified H/2 * * * * to have this job run every two minutes. The symbol H, is a handy Jenkins inbuilt mechanism that allows Jenkins to balance and manage job scheduling. Rather than trigger all the jobs at exactly the same time...