garethmidwood / codebasehq-php
CodebaseHQ API 的 PHP 库
This package is auto-updated.
Last update: 2024-09-13 10:43:43 UTC
README
CodebaseHQ API 的 PHP 库
注意
此库为用户、项目、工单等创建对象。当你查询检索工单时(这是一个示例,也适用于其他类),它将尝试查找用户并将工单分配者/报告者与用户关联起来。如果你尚未检索用户,则你的工单将没有分配者或报告者。因此,最佳步骤是
- 检索用户
- 检索项目
- 检索项目的工单
- 检索项目的时间会话
以下可以找到这些步骤的说明。
用法
连接到 API
为了连接到并查询 codebase API,你需要创建一个 CodebaseHQAccount 对象
$codebaseHQ = new GarethMidwood\CodebaseHQ\CodebaseHQAccount( $apiUser, $apiKey, $apiHost );
检索所有用户
用户在账户级别被拉取
$users = $codebaseHQ->users();
这返回一个 User\Collection - 应在集合上执行搜索,该类为此提供了一些辅助方法
检索项目
项目可以作为整个账户或通过永久链接单独拉取。
检索所有项目
项目也在账户级别被拉取
$projects = $codebaseHQ->projects();
这返回一个 Project\Collection - 应在集合上执行搜索,该类为此提供了一些辅助方法
检索单个项目
你可以通过永久链接拉取单个项目(注意方法名称是单数形式)
$project = $codebaseHQ->project('project-permalink');
这返回一个 Project\Project - 不是集合
填充项目详细信息
项目可以填充所有其分类、优先级、状态和类型。
$codebaseHQ->categories($project); $codebaseHQ->priorities($project); $codebaseHQ->statuses($project); $codebaseHQ->types($project);
检索项目的工单
如果有一个 Project\Project 对象,则可以检索工单。
$codebaseHQ->tickets($project, $pageNo); $project->getTickets();
tickets 方法返回一个布尔值,指示是否存在更多结果(因为结果已分页)。工单本身被添加到项目中的 Ticket\Collection。一如既往,应在集合上执行搜索,该类为此提供了一些辅助方法
分页
工单已分页,每页 20 个。你可以编写一个简单的循环来拉取项目的所有工单
$pageNo = 1; $moreResultsToRetrieve = true; while ($moreResultsToRetrieve) { $moreResultsToRetrieve = $codebaseHQ->tickets($project, $pageNo); $pageNo++; }
检索项目的时间会话
如果您有一个 Project\Project 对象,则可以检索时间会话。您还必须通过一个时间段来检索时间,这可以是天/周/月或所有 - 存在针对每个的类。
// can be All|Day|Week|Month $period = new GarethMidwood\CodebaseHQ\TimeSession\Period\Week; $codebaseHQ->times($project, $period);
如果已填充那些集合,则时间会话将与项目、工单和用户相关联。
// times for the project $project->getTimeSessions(); // times associated to a user $user->getTimeSessions(); // times associated to a ticket $ticket->getTimeSessions();