acamposm / atlas-jenkins-connector
A PHP connector for the Jenkins API.
Package info
github.com/angelcamposm/atlas-jenkins-connector
pkg:composer/acamposm/atlas-jenkins-connector
1.0.0
2026-05-09 22:37 UTC
Requires
- php: ^8.5
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- laravel/tinker: v3.0.2
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-05-09 22:42:36 UTC
README
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
