phppkg / jenkins-client
Jenkins PHP API 客户端
v1.0.2
2023-11-11 03:03 UTC
Requires
- php: >8.0
- phppkg/http-client: ^3.0
- toolkit/stdlib: ^2.0
README
jenkins-client
- 设计用于通过其 API 与 Jenkins CI 交互。
phppkg/jenkins-client
受启发于 https://github.com/jenkins-khan/jenkins-php-api
安装
- 需要 PHP 8.0+
composer
composer require phppkg/jenkins-client
用法
首先,你需要实例化客户端
$jenkins = new \PhpPkg\JenkinsClient\Jenkins('http://host.org:8080');
如果你的 Jenkins 需要认证,你需要传递一个类似这样的 URL: 'http://user:token@host.org:8080'
。
简单示例 - 发送 "字符串参数"
curl JENKINS_URL/job/JOB_NAME/buildWithParameters \ --user USER:TOKEN \ --data id=123 --data verbosity=high
另一个示例 - 发送 "文件参数"
curl JENKINS_URL/job/JOB_NAME/buildWithParameters \ --user USER:PASSWORD \ --form FILE_LOCATION_AS_SET_IN_JENKINS=@PATH_TO_FILE
以下是一些使用示例
获取作业的颜色
$job = $jenkins->getJob("dev2-pull"); vdump($job->getColor()); //string(4) "blue"
启动作业
$job = $jenkins->launchJob("clone-deploy"); vdump($job); // bool(true) if successful or throws a RuntimeException
列出给定视图的作业
$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"
检查 Jenkins 是否可用
var_dump($jenkins->isAvailable()); //bool(true);
更多详细信息,请参阅 Jenkins API。