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.
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')
$job = $jenkins->getJob("dev2-pull");
var_dump($job->getColor());
//string(4) "blue"
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();
$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"
$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"
var_dump($jenkins->isAvailable());
//bool(true);
For more information, see the Jenkins API.