m4tthumphrey/php-gitlab-api

PHP 的 GitLab API v4 客户端

资助包维护!
GrahamCampbell

安装次数: 3,902,984

依赖项: 69

建议者: 3

安全性: 0

星级: 932

关注者: 30

分支: 452

公开问题: 30

11.14.0 2024-03-17 21:35 UTC

README

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

Banner

Build Status StyleCI Status Software License Packagist Downloads Latest Version

该客户端基于 php-github-api,由 KnpLabs 提供。因此,我们现在有 非常相似 的客户端用于

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

安装

此版本支持 PHP 7.4-8.3。要开始使用,只需使用 Composer 引入项目。您还需要安装提供 psr/http-client-implementationpsr/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-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,邮箱地址为 [email protected]。所有安全漏洞都将得到及时处理。您可以在 这里 查看我们的完整安全策略。

许可证

GitLab PHP API 客户端采用 MIT 许可证 (MIT) 许可。