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

Getting the information from Jenkins


The first step is to get our (programmatic) hands on the information. The simplest way to do this is via the XML API. This simply involves appending the /api/xml string to the URL for the job you would like to monitor, as shown here: http://yourjenkinsserver:8080/job/YourJob/api/xml.

Note

Note that there is also a JSON API available; if this suits your needs better—simply replace api/xml with api/json to receive the same information in the JSON format.

If you do this in a browser, you should see XML somewhat similar to my VeryBasicJob job:

The text returned by the API is simple and the XML is quite self-explanatory; a quick look through it shows that it contains all the information that you would want on the job you just queried—it just needs to be processed and interpreted. There doesn't seem to be much available in the way of documentation for these XML elements; however, if you start off with as simplistic a job as possible and then make changes and additions...