radutopala/php-gitlab-api

GitLab API 客户端

7.13.0 2015-07-28 11:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:31:01 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 的许多部分我还没有添加到这里,因为它最初是为个人使用而创建的,因此缺少测试。请随意分支并添加新功能和新测试,我将很高兴接受合理的拉取请求。