phppkg/jenkins-client

Jenkins PHP API 客户端

v1.0.2 2023-11-11 03:03 UTC

This package is auto-updated.

Last update: 2024-09-02 03:33:43 UTC


README

License Php Version GitHub tag (latest SemVer) Unit Tests Deploy Pages

中文说明

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

许可证

MIT