blomstra / linear
Linear 的 API 客户端
0.1.6
2024-03-07 17:39 UTC
Requires
- cuyz/valinor: ^1.8
- guzzlehttp/guzzle: ^7.8
- illuminate/http: ^8
- symfony/cache: ^6.4
Requires (Dev)
- phpunit/phpunit: ^9.6
README
这是一个针对 Linear API 的 PHP SDK。它包含在集成 Linear 时最常见所需的功能,但不公开每个 GraphQL 端点。
功能
使用此 SDK,您可以
- 创建、检索、更新和删除问题
- 检索团队
- 检索项目
- 检索组织
要求
- PHP 8.2+
- Linear 的 token(该 SDK 目前不支持 OAuth 2 身份验证)
安装
与其他 PHP 包一样,您可以使用 composer 安装此包
composer require blomstra/linear
用法
检索当前组织
use Linear\Sdk\Organization; $o = new Organization('your-token-here'); $organization = $o->get(); // $organization is now an instance of Linear\Dto\Organization $organization->name; $organization->id; $organization->urlKey
检索团队
可以通过 ID 检索单个团队
use Linear\Sdk\Teams; $t = new Teams('your-token-here'); $team = $t->getOne('team-id-here'); // $team is now an instance of Linear\Dto\Team
或检索所有团队
use Linear\Sdk\Teams; $t = new Teams('your-token-here'); $teams = $t->getAll(); // $teams is now an instance of Linear\Dto\Teams
检索项目
可以通过 ID 检索单个项目
use Linear\Sdk\Projects; $p = new Projects('your-token-here'); $project = $p->getOne('project-id-here'); // $project is now an instance of Linear\Dto\Project
或检索所有项目
use Linear\Sdk\Projects; $p = new Projects('your-token-here'); $projects = $p->getAll(); // $projects is now an instance of Linear\Dto\Projects
问题
检索问题
可以通过 ID 检索单个问题
use Linear\Sdk\Issues; $i = new Issues('your-token-here'); $issue = $i->getOne('issue-id-here'); // $issue is now an instance of Linear\Dto\Issue
或检索所有问题
use Linear\Sdk\Issues; $i = new Issues('your-token-here'); $issues = $i->getAll(); // $issues is now an instance of Linear\Dto\Issues
创建问题
use Linear\Sdk\Issues; use Linear\Dto\Issue; use Linear\Sdk\Teams; $t = new Teams('your-token-here'); $team = $t->getAll()->nodes[0]; $i = new Issues('your-token-here'); $title = 'My new issue'; $description = 'This is a description'; $createdIssue = $i->create($title, $description, $team); // $createdIssue is now an instance of Linear\Dto\Issue
更新问题
use Linear\Sdk\Issues; use Linear\Dto\Issue; $i = new Issues('your-token-here'); $issue = $i->getOne('issue-id-here'); $updatedIssueDto = new Issue($issue->id, 'updated title', 'updated description'); $updatedIssue = $i->update($updatedIssue); // $updatedIssue is now an instance of Linear\Dto\Issue
删除问题
use Linear\Sdk\Issues; $i = new Issues('your-token-here'); $issue = $i->getOne('issue-id-here'); $i->delete($issue); // returns true or false
测试
此 SDK 中的每个方法都经过了单元测试。有关更多详细信息,请参阅 tests/Api
文件夹。
赞助商
此扩展由 Kagi Search 赞助,一个无广告的搜索引擎
许可
MIT