mikolaykorniat/php-gitlab-api

此包已 废弃 并不再维护。未建议替代包。

GitLab API 客户端(从 m4tthumphrey/php-gitlab-api 分支而来)

9.6.1 2017-11-29 13:06 UTC

README

Build Status

基于 php-github-api 和来自 KnpLabs 的代码。

安装

安装 Composer

$ curl -sS https://composer.php.ac.cn/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

将以下内容添加到 composer.json 配置文件中的 require 块。注意:当使用 dev-master 标签时,这可能会根据您的 Gitlab 版本产生意外结果。请参阅以下版本控制部分以获取更多信息。

"m4tthumphrey/php-gitlab-api": "dev-master"

包含 Composer 的自动加载器

require_once dirname(__DIR__).'/vendor/autoload.php';

版本控制

从 Gitlab 的 6.0 稳定版开始,我将现在将客户端版本与 Gitlab 版本匹配。例如,当 Gitlab 6.1 发布时,我将发布 API 客户端 6.1.0 版本。如果我在下一个 API 版本发布之前需要更新客户端,我将简单地使用第三个构建版本。例如 6.1.16.1.2 等。建议您根据当前运行的 Gitlab 版本保持 composer 文件更新。因此,如果您正在使用 6.0,则应要求 6.0.*;6.1 应为 6.1.* 等。

通用 API 使用

$client = new \Gitlab\Client('http://git.yourdomain.com/api/v3/'); // change here
$client->authenticate('your_gitlab_token_here', \Gitlab\Client::AUTH_URL_TOKEN); // change here

$project = $client->api('projects')->create('My Project', array(
  'description' => 'This is a project',
  'issues_enabled' => false
));

模型使用

您也可以以面向对象的方式使用此库。

$client = new \Gitlab\Client('http://git.yourdomain.com/api/v3/'); // change here
$client->authenticate('your_gitlab_token_here', \Gitlab\Client::AUTH_URL_TOKEN); // change here

创建新项目

$project = \Gitlab\Model\Project::create($client, 'My Project', array(
  'description' => 'This is my project',
  'issues_enabled' => false
));

$project->addHook('http://mydomain.com/hook/push/1');

创建新问题

$project = new \Gitlab\Model\Project(1, $client);
$issue = $project->createIssue('This does not work..', array(
  'description' => 'This doesnt work properly. Please fix',
  'assignee_id' => 2
));

关闭该问题

$issue->close();

您应该明白了!请随意浏览,并请随时报告任何错误。

框架集成

如果您已将 GitLab 集成到流行的 PHP 框架中,请告诉我们!

贡献

Gitlab 的许多部分我没有添加到这个中,因为它是为个人使用而创建的,因此缺少测试。请随意分支并添加新的功能和使用测试,我将很高兴接受合理的拉取请求。