mtymek / codebasehq-sdk

此包最新版本(dev-master)没有可用的许可信息。

CodebaseHQ API 的 PHP SDK

dev-master 2013-08-18 10:57 UTC

This package is auto-updated.

Last update: 2024-09-05 04:15:08 UTC


README

CodebaseHQ 是一个软件项目管理工具,提供 Git、Mercurial 和 Subversion 存储库托管、错误和计时跟踪等功能。

安装

可以使用 Composer 安装此包

{
    "minimum-stability": "dev",
    "require": {
        "mtymek/codebasehq-sdk": "dev-master"
    }
}

用法

有关 CodebaseHQ API 的一般信息,请参阅 此文档

首先,您需要创建 API 客户端,并传递您的账户、用户名和 API 密钥

$client = new CodebaseHq\Api('someaccount', 'mtymek', '85j9axug8r2mb42ao5rf59nrpstesdujbj05x2ih');

示例:列出票据

票据与项目相关组织,因此您需要先设置项目名称

$client->setProject('project_name');

现在您可以使用给定查询查找匹配的票据

// list all closed tickets for current user
$tickets = $client->tickets()->find('assignee:me status:closed');

上述代码将返回 CodebaseHq\Entity\Ticket 对象的数组。

您也可以获取单个票据

$ticket = $client->tickets()->findOneById(124);

XML API

目前对象接口仅支持 Codebase HQ API 的子集。您也可以直接使用它,通过低级调用直接访问 XML 数据

// Example: listing all assigned tickets
$result = $api->api('/mats-playground/tickets?query=' . urlencode('assignee:me'));
$xml = new SimpleXMLElement($result);
foreach ($xml->ticket as $ticket) {
    echo $ticket->{'ticket-id'} . ': ' . $ticket->summary, "\n";
}

// Example: tracking time session
$xml =
'<time-session>
    <summary>Worked on the awesome feature</summary>
    <minutes>60:00</minutes>
</time-session>';
$api->api('/mats-playground/time_sessions', 'POST', $xml);

您可以通过使用 buildXml() 帮助方法来避免直接传递 XML

// Example: ticket update
$ticketNote = array(
    'content' => 'Lorem Ipsum dolor sit amet.',
    'time-added' => '1:00'
);
$result = $api->api(
                '/mats-playground/tickets/263/notes',
                'POST',
                $api->buildXml('ticket-note', $ticketNote)
        );

待办事项

  • 基本、低级 API 访问 [已实现]
  • 用于访问由 CodebaseHQ API 定义的所有类型的记录的优美、面向对象的接口 [进行中]