acamposm/atlas-jenkins-connector

A PHP connector for the Jenkins API.

Maintainers

Package info

github.com/angelcamposm/atlas-jenkins-connector

pkg:composer/acamposm/atlas-jenkins-connector

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-05-09 22:37 UTC

This package is auto-updated.

Last update: 2026-05-09 22:42:36 UTC


README

Atlas Jenkins Connector

Total Downloads Latest Version Packagist License

Atlas Jenkins Connector

A robust, modern PHP API client for Jenkins, built for the Atlas ecosystem.

Features

  • Strictly Typed: Leverages PHP 8.5 features for maximum reliability.
  • Resource-Based Architecture: Scalable and easy to navigate.
  • Mock-Ready: Designed for 100% test coverage using Guzzle MockHandler.
  • Subfolder Support: Automatic path resolution for jobs in folders.
  • Comprehensive API: Support for Jobs and Builds.

Installation

composer require acamposm/atlas-jenkins-connector

Usage

Basic Initialization

use Atlas\Connectors\Jenkins\JenkinsClient;

$client = new JenkinsClient(
    baseUrl: 'https://jenkins.example.com',
    username: 'admin',
    apiToken: 'your-api-token',
    timeout: 60.0,    // Optional: Default is 30.0
    maxRetries: 5     // Optional: Default is 3
);

Job Management

// Launch a job
$client->jobs()->build('my-job', ['PARAM' => 'value']);

// Launch a job in a subfolder
$client->jobs()->build('folder/subfolder/my-job');

// Create a job from XML
$xml = file_get_contents('config.xml');
$client->jobs()->create('new-job', $xml, 'my-folder');

// List all jobs in a folder
$jobs = $client->jobs()->list('my-folder');

// Discover ALL jobs recursively (across all subfolders)
$allJobs = $client->jobs()->all();
foreach ($allJobs as $job) {
    echo $job->fullPath . PHP_EOL;
}

Build & Log Management

// Get console logs
$logs = $client->builds()->logs('my-job', 123);

// Update build description
$client->builds()->updateDescription('my-job', 123, 'Build Successful');

Testing

composer test

Static Analysis

composer analyse

License

MIT