api4jenkins: Jenkins Python Client

2.1.0 · active · verified Thu Apr 16

api4jenkins is a Python client library for programmatic interaction with Jenkins instances, offering both synchronous and asynchronous APIs. It provides an object-oriented interface for managing Jenkins items like Jobs, Builds, Nodes, and Credentials. Currently at version 2.1.0, it maintains an active release cadence with regular updates including new features, bug fixes, and documentation improvements.

Common errors

Warnings

Install

Imports

Quickstart

Initializes a synchronous Jenkins client, connects to a Jenkins instance using environment variables for authentication, and prints the Jenkins version and a list of available jobs. Remember to set JENKINS_URL, JENKINS_USER, and JENKINS_TOKEN (or JENKINS_PASS) environment variables.

import os
from api4jenkins import Jenkins

JENKINS_URL = os.environ.get('JENKINS_URL', 'http://localhost:8080')
JENKINS_USER = os.environ.get('JENKINS_USER', 'admin')
JENKINS_TOKEN = os.environ.get('JENKINS_TOKEN', 'your_api_token') # or JENKINS_PASS

try:
    client = Jenkins(JENKINS_URL, auth=(JENKINS_USER, JENKINS_TOKEN))
    jenkins_version = client.version
    print(f"Successfully connected to Jenkins v{jenkins_version}")
    # Example: List all jobs
    print("\nAvailable Jobs:")
    for job in client.iter():
        print(f"- {job.name} ({job.url})")
except Exception as e:
    print(f"Failed to connect to Jenkins or retrieve info: {e}")

view raw JSON →