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

Chapter 4. The API and the CLI

In the previous chapter, we looked at several ways in which we can interact with Jenkins and extend its use so that developers can benefit directly from within their development environments.

The plugins and add-ons that we looked at were obviously, somehow, able to fetch "live" data from Jenkins in order to convey this data directly to the client environment (the developers' IDE).

In this chapter, we will take a look at how these plugins were able to access this information, and we will explore the various mechanisms and interfaces that Jenkins provides for programmatic interactions, for example, the Jenkins Application Programming Interface (API). We will also explore the Jenkins Command-line Interface (CLI), which offers a mechanism by which you can remotely interact with Jenkins programmatically and/or interactively.

Both these features are extremely powerful and are the fundamental utilities to extend Jenkins.

There are three main functions for which you...