mtymek / codebasehq-sdk
此包最新版本(dev-master)没有可用的许可信息。
CodebaseHQ API 的 PHP SDK
dev-master
2013-08-18 10:57 UTC
Requires
- php: >=5.3.0
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 定义的所有类型的记录的优美、面向对象的接口 [进行中]