m4tthumphrey / php-gitlab-api
PHP 的 GitLab API v4 客户端
Requires
- php: ^7.4.15 || ^8.0.2
- ext-json: *
- ext-xml: *
- php-http/cache-plugin: ^1.8.1 || ^2.0
- php-http/client-common: ^2.7.1
- php-http/discovery: ^1.19.2
- php-http/httplug: ^2.4
- php-http/multipart-stream-builder: ^1.3
- psr/cache: ^1.0 || ^2.0 || ^3.0
- psr/http-client-implementation: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message: ^1.1 || ^2.0
- symfony/options-resolver: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/polyfill-php80: ^1.26
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8.2
- guzzlehttp/guzzle: ^7.8
- http-interop/http-factory-guzzle: ^1.2
- 11.15.x-dev
- 11.14.x-dev
- 11.14.0
- 11.13.x-dev
- 11.13.0
- 11.12.x-dev
- 11.12.0
- 11.11.x-dev
- 11.11.1
- 11.11.0
- 11.10.x-dev
- 11.10.1
- 11.10.0
- 11.9.x-dev
- 11.9.1
- 11.9.0
- 11.8.x-dev
- 11.8.0
- 11.7.x-dev
- 11.7.1
- 11.7.0
- 11.6.x-dev
- 11.6.0
- 11.5.x-dev
- 11.5.1
- 11.5.0
- 11.4.x-dev
- 11.4.1
- 11.4.0
- 11.3.x-dev
- 11.3.0
- 11.2.x-dev
- 11.2.1
- 11.2.0
- 11.1.x-dev
- 11.1.0
- 11.0.x-dev
- 11.0.0
- 10.4.x-dev
- 10.4.0
- 10.3.x-dev
- 10.3.1
- 10.3.0
- 10.2.x-dev
- 10.2.0
- 10.1.x-dev
- 10.1.2
- 10.1.1
- 10.1.0
- 10.0.x-dev
- 10.0.2
- 10.0.1
- 10.0.0
- 10.0.0-RC2
- 10.0.0-RC1
- 9.19.x-dev
- 9.19.2
- 9.19.1
- 9.19.0
- 9.18.x-dev
- 9.18.2
- 9.18.1
- 9.18.0
- 9.17.x-dev
- 9.17.1
- 9.17.0
- 9.16.0
- 9.15.0
- 9.14.0
- 9.13.0
- 9.12.0
- 9.11.0
- 9.10.0
- 9.9.0
- 9.8.0
- 9.7.0
- 9.6.1
- 9.6.0
- 9.5.0
- 9.4.0
- 9.3.0
- 9.2.0
- 9.1.0
- 9.0.0
- 9.0.0-rc1
- 9.0.0-beta2
- 9.0.0-beta1
- 8.0.x-dev
- 8.0.0
- 7.15.x-dev
- 7.15.0
- 7.14.0
- 7.13.1
- 7.13.0
- 7.11.0
- 7.10.0
- 7.9.0
- 7.8.0
- 6.9.1
- 6.9.0
- 6.4.3
- 6.2.2
- 6.2.1
- 6.2.0
- 6.1.0
- 6.0.0
- 0.7.1
- 0.7.0
- 0.6.1
- 0.6.0
This package is auto-updated.
Last update: 2024-09-17 22:49:53 UTC
README
我们为 PHP 提供了一个现代化的 GitLab API v4 客户端。
该客户端基于 php-github-api,由 KnpLabs 提供。因此,我们现在有 非常相似 的客户端用于
- Bitbucket - bitbucket/client by Graham Campbell。
- GitHub - knplabs/github-api by KnpLabs。
- GitLab - m4tthumphrey/php-gitlab-api,就是这个包!
查看变更日志、版本发布、安全策略、许可、行为准则和贡献指南。
安装
此版本支持 PHP 7.4-8.3。要开始使用,只需使用 Composer 引入项目。您还需要安装提供 psr/http-client-implementation
和 psr/http-factory-implementation
的包。
标准安装
$ composer require "m4tthumphrey/php-gitlab-api:^11.14" \ "guzzlehttp/guzzle:^7.8" "http-interop/http-factory-guzzle:^1.2"
框架集成
Laravel
$ composer require "graham-campbell/gitlab:^7.5"
Symfony
$ composer require "zeichen32/gitlabapibundle:^6.1"
我们通过使用 PSR-7、PSR-17、PSR-18 和 HTTPlug 与任何 HTTP 消息客户端解耦。您可以访问 HTTPlug for library users 获取有关安装 HTTPlug 相关包的更多信息。框架集成 graham-campbell/gitlab 由 Graham Campbell 提供,zeichen32/gitlabapibundle 由 Jens Averkamp 提供。
通用 API 使用
// Token authentication $client = new Gitlab\Client(); $client->authenticate('your_http_token', Gitlab\Client::AUTH_HTTP_TOKEN); // OAuth2 authentication $client = new Gitlab\Client(); $client->authenticate('your_oauth_token', Gitlab\Client::AUTH_OAUTH_TOKEN); // An example API call $project = $client->projects()->create('My Project', [ 'description' => 'This is a project', 'issues_enabled' => false, ]);
自托管 GitLab
$client = new Gitlab\Client(); $client->setUrl('https://git.yourdomain.com'); $client->authenticate('your_http_token', Gitlab\Client::AUTH_HTTP_TOKEN);
带有分页器的示例
$pager = new Gitlab\ResultPager($client); $issues = $pager->fetchAll($client->issues(), 'all', [null, ['state' => 'closed']]);
HTTP 客户端构建器
通过向 Gitlab\Client
构造函数提供 Gitlab\HttpClient\Builder
,您可以自定义 HTTP 客户端。例如,要自定义用户代理
$plugin = new Http\Client\Common\Plugin\HeaderSetPlugin([ 'User-Agent' => 'Foobar', ]); $builder = new Gitlab\HttpClient\Builder(); $builder->addPlugin($plugin); $client = new Gitlab\Client($builder);
您可以在 这里 了解更多关于 HTTPlug 插件的信息。请查看 API 方法,并且请随时报告任何错误,注意我们的 行为准则。
贡献
我们乐意接收问题报告并审查和接受拉取请求,按照我们的 行为准则 和 贡献指南!
$ make install
$ make test
安全性
如果您在此软件包中发现安全漏洞,请将电子邮件发送至 Graham Campbell,邮箱地址为 [email protected]。所有安全漏洞都将得到及时处理。您可以在 这里 查看我们的完整安全策略。
许可证
GitLab PHP API 客户端采用 MIT 许可证 (MIT) 许可。