PHP API for Jenkins
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2015-07-28 12:56:55 +01:00
src Add config support, gracefully fail to connect to specified jenkins installs. 2015-07-28 12:56:55 +01:00
tests Refactoring class naming to PSR2 2015-04-12 18:24:51 +02:00
.atoum.php added methods to retrieve testReport 2012-07-14 11:53:33 +02:00
.gitignore Creates composer.json 2015-04-12 18:25:02 +02:00
composer.json Creates composer.json 2015-04-12 18:25:02 +02:00
README.md Update README.md 2015-04-21 13:11:13 +02:00

Jenkins PHP API

Jenkins PHP API is a set of classes designed to interact with Jenkins CI using its API.

Installation

The recommended way to install Jenkins PHP API is through Composer.

curl -sS https://getcomposer.org/installer | php

Then, run the Composer command to install the latest version:

composer.phar require jenkins-khan/jenkins-api

Basic Usage

Before anything, you need to instantiate the client :

    $jenkins = new \JenkinsKhan\Jenkins('http://host.org:8080');

If your Jenkins needs authentication, you need to pass a URL like this : 'http://user:token@host.org:8080'.

Here are some examples of how to use it:

Get the color of the job

    $job = $jenkins->getJob("dev2-pull");
    var_dump($job->getColor());
    //string(4) "blue"

Launch a Job

    $job = $jenkins->launchJob("clone-deploy");

List the jobs of a given view

    $view = $jenkins->getView('madb_deploy');
    foreach ($view->getJobs() as $job) {
      var_dump($job->getName());
    }
    //string(13) "altlinux-pull"
    //string(8) "dev-pull"
    //string(9) "dev2-pull"
    //string(11) "fedora-pull"

List builds and their status

    $job = $jenkins->getJob('dev2-pull');
    foreach ($job->getBuilds() as $build) {
      var_dump($build->getNumber());
      var_dump($build->getResult());
    }
    //int(122)
    //string(7) "SUCCESS"
    //int(121)
    //string(7) "FAILURE"

Check if Jenkins is available

    var_dump($jenkins->isAvailable());
    //bool(true);

For more information, see the Jenkins API.

Coding standards

This projects follows PSR-0, PSR-1, PSR-2, PSR-4