wkse / jenkins-php-api
Library to control Jenkins via PHP through JSON api
0.1.13
2016-04-05 06:00 UTC
Requires
- php: >=5.4.0
- ext-curl: *
This package is not auto-updated.
Last update: 2024-11-01 19:57:54 UTC
README
This version of the Jenkins PHP API is based on https://github.com/jenkins-khan/jenkins-php-api. It's more OOP (means a clearer API) than the original and has some more features.
It wraps the API calls of the Jenkins API.
Getting started
First you need to instantiate the connection:
$jenkins = new Jenkins('http://host.org:8080');
If your Jenkins needs authentication, you need to pass a URL like this : 'http://user:token@host.org:8080'
.
There are always two ways to instanciate an item and get the data you want:
- Use the classes directly (
new Job('myjob', $jenkins)
). In this case you have to instanciate Jenkins first and pass it as second constructor argument. - Use methods of Jenkins:
(new Jenkins('myurl'))->getJob('myjob')
Get the color of the job
$job = $jenkins->getJob("dev2-pull");
var_dump($job->getColor());
//string(4) "blue"
Launch a Job
Will launch the job and return imidiatly
$job = $jenkins->getJob("clone-deploy")->launch();
Will launch the job and wait until the job is finished
$job = $jenkins->getJob("clone-deploy")->launchAndWait();
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.