A Java client for the Jenkins API
To get started add the following dependency to your project
<dependency>
<groupId>com.offbytwo.jenkins</groupId>
<artifactId>jenkins-client</artifactId>
<version>0.2.0</version>
</dependency>
The com.offbytwo.jenkins.JenkinsServer
class provides the main entry
point into the API. You can create a reference to the Jenkins server
given its location and (optionally) a username and password/token.
JenkinsServer jenkins = new JenkinsServer(new URI("http://localhost:8080/jenkins"), "admin", "password")
At the top level you can access all of the currently defined jobs. This returns a map of job names (in lower case) to jobs.
Map<String, Job> jobs = jenkins.getJobs()
The Job class provides only summary information (name and url). You can retrieve details as follows
JobWithDetails job = jobs.get("My Job").details()
The JobWithDetails
class provides you with access to the list of
builds (and related information such as the first, last, successful,
etc) and upstream and downstream projects.
Integration tests require a running jenkins instance populated with some data.
To set up passing integration tests:
- start local instance of jenkins with no security on port 8080
- IMPORTANT: install the "Git Plugin" on this instance
- Create a build named "trunk"
- trigger at least 5 builds, the most recent of which should succeed
- create a build named "pr"
- make that build paramaterized
- Add a parameter called REVISION whose default value is "foobar"
- Trigger at least one successful build using that parameter
- Now run JenkinsServerIntegration.java tests
Copyright (C) 2013, Rising Oak LLC.
Distributed under the MIT license: http://opensource.org/licenses/MIT