caherrera/php-gitlab-api

PHP的GitLab API v4客户端

11.4.0 2021-03-27 23:40 UTC

README

我们提供了一个用于PHP的现代化GitLab API v4客户端。

Banner

Build Status StyleCI Status Software License Packagist Downloads Latest Version

该项目基于php-github-api,由KnpLabs开发。考虑到这一点,我们现在有了以下类似的客户端:

请查看变更日志发布安全策略许可证行为准则贡献指南

安装

此版本支持PHP 7.2-8.0。要开始使用,请使用Composer要求项目。您还需要安装提供“psr/http-client-implementation”和“psr/http-factory-implementation”的包。

标准安装

$ composer require "m4tthumphrey/php-gitlab-api:^11.4" "guzzlehttp/guzzle:^7.2" "http-interop/http-factory-guzzle:^1.0"

框架集成

Laravel

$ composer require "graham-campbell/gitlab:^5.2" "guzzlehttp/guzzle:^7.2" "http-interop/http-factory-guzzle:^1.0"

Symfony

$ composer require "zeichen32/gitlabapibundle:^6.0" "symfony/http-client:^5.2" "nyholm/psr7:^1.3"

我们通过使用PSR-7PSR-17PSR-18HTTPlug与任何HTTP消息客户端解耦。您可以通过访问HTTPlug for library users获取有关安装HTTPlug相关包的更多信息。框架集成graham-campbell/gitlabGraham Campbell开发,而zeichen32/gitlabapibundleJens 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,邮箱地址为graham@alt-three.com。所有安全漏洞都将得到及时解决。您可以在这里查看我们的完整安全策略这里

许可

GitLab PHP API 客户端遵循MIT 许可证 (MIT)进行授权。