All Projects → Sauilitired → Jenkins4j

Sauilitired / Jenkins4j

Licence: mit
Simple and effective Jenkins API wrapper written in Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jenkins4j

Gojenkins
Jenkins API Client in Go. Looking for maintainers to move this project forward.
Stars: ✭ 594 (+4850%)
Mutual labels:  api, jenkins
Devops Bash Tools
550+ DevOps Bash Scripts - AWS, GCP, Kubernetes, Kafka, Docker, APIs, Hadoop, SQL, PostgreSQL, MySQL, Hive, Impala, Travis CI, Jenkins, Concourse, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt for Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, Advanced dotfiles: .bashrc, .vimrc, .gitconfig, .screenrc, .tmux.conf, .psqlrc ...
Stars: ✭ 226 (+1783.33%)
Mutual labels:  api, jenkins
Ui
UI for https://www.apibuilder.io
Stars: ✭ 8 (-33.33%)
Mutual labels:  api
Genius Php
PHP library for Genius API (http://genius.com/developers)
Stars: ✭ 10 (-16.67%)
Mutual labels:  api
Cnbankcard
🏦 由银行卡卡号解析出发卡行和卡别,适用于中国国内多数银行,返回JSON数据。
Stars: ✭ 853 (+7008.33%)
Mutual labels:  api
Pwn jenkins
Notes about attacking Jenkins servers
Stars: ✭ 841 (+6908.33%)
Mutual labels:  jenkins
Libretranslate
Free and Open Source Machine Translation API. 100% self-hosted, no limits, no ties to proprietary services. Built on top of Argos Translate.
Stars: ✭ 834 (+6850%)
Mutual labels:  api
Node Pg Migrate
Node.js database migration management for Postgresql
Stars: ✭ 838 (+6883.33%)
Mutual labels:  api
Binding Of Isaac Api
A RESTful API for the Binding of Isaac game series
Stars: ✭ 11 (-8.33%)
Mutual labels:  api
Outputcache
Cache api responses using Redis, Memcached or any cache provider for NodeJS
Stars: ✭ 9 (-25%)
Mutual labels:  api
Pdoc
API Documentation for Python Projects
Stars: ✭ 853 (+7008.33%)
Mutual labels:  api
Social Listener
Python project used to collect tweets and social-network data from Social's API
Stars: ✭ 9 (-25%)
Mutual labels:  api
Quip.js
Simple Node.js wrapper (browser included) and CLI for Quip REST API
Stars: ✭ 8 (-33.33%)
Mutual labels:  api
Bbc Rss
BBC iPlayer programmes / Nitro API to RSS adaptor app
Stars: ✭ 10 (-16.67%)
Mutual labels:  api
Railgun
An extension of the MyAnimeList API.
Stars: ✭ 8 (-33.33%)
Mutual labels:  api
Openapi3 Validator
Validator for OpenAPI v3 specs
Stars: ✭ 11 (-8.33%)
Mutual labels:  api
Hvac
🔒 Python 2.7/3.X client for HashiCorp Vault
Stars: ✭ 839 (+6891.67%)
Mutual labels:  api
Compositor Api
Compositor is a lightweight utility API for compositing images quickly and efficiently in Unity.
Stars: ✭ 9 (-25%)
Mutual labels:  api
Get File
CLI and API to get a single file from Github repository.
Stars: ✭ 9 (-25%)
Mutual labels:  api
Gitter Api
[production-ready] Gitter API implementation for php 7.0+ allowing sync, async and streaming access.
Stars: ✭ 11 (-8.33%)
Mutual labels:  api

Jenkins4J

Simple and effective non-blocking Jenkins API wrapper written in Java

What can it do?

Jenkins4J supports the following actions:

  • Get all publicly (or protected, using authentication) available jobs from a Jenkins instance
  • Parse job data for builds and metadata
  • Parse job data for artifacts and metadata

How does it work?

Jenkins4J uses the Jenkins remote access JSON API (in the future, XML support may be added). Retrofit is used as the HTTP client, Gson is used for JSON deserialization and general Guava utilities are used throughout Jenkins4J.

How to use it?

In order to get started, create a new Jenkins instance using a JenkinsBuilder, like this:

final Jenkins jenkins = Jenkins.newBuilder().withPath("https://your.jenkins.path/").build();

If you need to authenticate against the Jenkins server, use the withBasicAuthentication method in the Jenkins builder

Using this instance, you can fetch the master node, available jobs, specific job information and/or specific build information.

There are two types of objects that you will encounter when working with Jenkins4J:

  • description
  • info

A description is a simple member of an info class, and it will often just contain a name or a number. You can use a description to get a (CompletableFuture of) an information class. Information classes contain references to child nodes, and a bunch of meta data. This is to mirror how the Jenkins API works.

You can use description classes to retrieve their corresponding information classes, by using getParent(). All information classes can also be retrieved using the Jenkins instance.

Retrieval of objects will always be non-blocking, and return CompletableFuture's.

Examples

Examples can be found in the examples directory.
JavaDoc can be found in the docs directory.

Maven

Jenkins4J is using the JitPack maven repository.

JitPack Badge

To use it, add the following repository:

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

and the following dependency:

<dependency>
    <groupId>com.github.Sauilitired</groupId>
    <artifactId>Jenkins4J</artifactId>
    <version>3.0-SNAPSHOT</version>
</dependency>
Jenkins

Jenkins4J is on Jenkins. The job can be found here!

Contributions & Contact

Contributions are very welcome! The project uses the Google Java code style. The project is licensed under the MIT license.

If you have any further questions or feedback, then feel free to join our Discord.
If the project helped you, then you are free to give me some coffee money via PayPal ☕️

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].