Jenkins REST Client

Light-weight Jenkins REST API Client for Java

License

License

Categories

Categories

Jenkins Build Tools Continuous Integration and Continuous Delivery
GroupId

GroupId

io.github.kev1nst
ArtifactId

ArtifactId

jenkins-rest
Last Version

Last Version

1.0.3
Release Date

Release Date

Type

Type

jar
Description

Description

Jenkins REST Client
Light-weight Jenkins REST API Client for Java
Project URL

Project URL

https://github.com/kev1nst/jenkins-rest
Source Code Management

Source Code Management

https://github.com/kev1nst/jenkins-rest

Download jenkins-rest

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.kev1nst/jenkins-rest/ -->
<dependency>
    <groupId>io.github.kev1nst</groupId>
    <artifactId>jenkins-rest</artifactId>
    <version>1.0.3</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.kev1nst/jenkins-rest/
implementation 'io.github.kev1nst:jenkins-rest:1.0.3'
// https://jarcasting.com/artifacts/io.github.kev1nst/jenkins-rest/
implementation ("io.github.kev1nst:jenkins-rest:1.0.3")
'io.github.kev1nst:jenkins-rest:jar:1.0.3'
<dependency org="io.github.kev1nst" name="jenkins-rest" rev="1.0.3">
  <artifact name="jenkins-rest" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.kev1nst', module='jenkins-rest', version='1.0.3')
)
libraryDependencies += "io.github.kev1nst" % "jenkins-rest" % "1.0.3"
[io.github.kev1nst/jenkins-rest "1.0.3"]

Dependencies

compile (1)

Group / Artifact Type Version
org.nutz : nutz jar 1.r.67

test (3)

Group / Artifact Type Version
org.apache.logging.log4j : log4j-core jar 2.11.1
org.apache.logging.log4j : log4j-api jar 2.11.1
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Jenkins-REST

Light-weight Jenkins REST API Client for Java

no more classpath conflicts !!


After googling for a few days I found it hard to get a jenkins rest api client for java without a dozen of dependencies, the offical client com.offbytwo.jenkins caused me lots of classpath conflicts with aws sdk, kafka java sdk etc. Most of them are around common utility libs like jackson. To fix these classpath conflicts, Instead of rewriting another aws sdk or kafka sdk which is obviously too much to complete, jenkins seems to be the easy answer. Here comes this light weight jenkins rest api client, currently it supports:

  • basic http authentication with account username, password/api-token
  • build job with or without parameters
  • customizable jenkins log handler ( register callback method which will trigger when log entry is retrieved )
  • customizable jenkins job progress handler ( register callback method which will trigger when certain job lifecycle event is reached )
  • job timeout config (throw exception after timeout)
  • synchronized await until job complete

Quick Start

update your build.gradle, add the following dependency:

compile group: 'io.github.kev1nst', name: 'jenkins-rest', version: '1.0.1'

Then in your Java code, simplely add the following:

JobResult result=Jenkins.connect(JENKINS_URL, ACCOUNT, CREDENTIAL).build("folder1/job1").await();
// then start to write whatever code you want to execute after the job is completed

the Demo class in the source code provides most of the common use cases of how-to

Versions

Version
1.0.3
1.0.2
1.0.1
1.0.0