fgrosse/gitlab-api

此包已被弃用且不再维护。未建议替代包。

使用服务描述的 gitlab API 的 guzzle 5 客户端

0.9.0 2015-09-28 17:47 UTC

This package is not auto-updated.

Last update: 2020-10-02 20:44:38 UTC


README

PHP Gitlab API

Build Status HHVM Status PHP 7 ready Coverage Status Scrutinizer Code Quality

Latest Stable Version Latest Unstable Version License

这是一个 Gitlab API 的 PHP 客户端。此客户端基于 Guzzle 5 和服务描述。您可以在 lib/Client/ServiceDescription 中的 yml 文件中快速了解实现的 Gitlab API。

已实现的 API(Gitlab ~7.7)

依赖

Gitlab-api 需要 PHP 5.5 或更高版本,并且已成功使用 PHP 7 和 HHVM 进行测试。此外,整个客户端都基于 Michael Dowling 的出色项目 Guzzle Services 构建。

安装

安装此库的首选方法是依靠 Composer

$ composer require fgrosse/gitlab-api

用法

API 仍在开发中,实际用法可能在将来发生变化。

此 API 的稳定部分可通过 GitlabClient 接口 获取

$guzzleClient = GitlabGuzzleClient::factory([
    'base_url'  => $baseUrl,
    'api_token' => $token,
]);

$client = new HttpGitlabClient($guzzleClient);

$mergeRequests = $client->listMergeRequests($project,
    $state='closed',
    $order='updated_at',
    $sort='asc',
    $page=1, $perPage=5
);

如果您想访问更多功能,请考虑直接使用 GitlabClient

$client = GitlabClient::factory([
    'base_url'  => $baseUrl,
    'api_token' => $token,
]);

$mergeRequests = $client->listMergeRequests([
    'project_id' => $project,
    'state'      => 'closed',
    'order_by'   => 'updated_at',
    'sort'       => 'asc',
    'page'       => 0,
    'per_page'   => 5,
]);

查看 lib/Client/ServiceDescription 以查看每个 API 调用的可用参数。一个可执行的示例可以在 examples/merge_requests/api.php 中找到。

尚未实现的 API

  • deploy_key_multiple_projects API
  • deploy_keys API
  • groups API
  • milestones API
  • notes API
  • oauth2 API
  • project_snippets API
  • projects API
  • repositories API
  • repository_files API
  • services API
  • session API
  • system_hooks API
  • users API

许可

此库在 MIT 许可证 下分发。