ciromattia / laravel-teamwork
Teamwork项目管理API的PHP包装器
v1.3
2018-04-26 17:26 UTC
Requires
- php: >=7.1.0
- guzzlehttp/guzzle: ~6.3
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0
Suggests
- illuminate/support: Required for Laravel support
README
此包旨在将Teamwork API实现为Laravel 5的服务提供者。
安装
通过composer添加此包
composer require "ciromattia/laravel-teamwork:~1.3"
Laravel设置
Service Provider在Laravel 5.5+中是自动可发现的。
如果您使用的是Laravel 5.4或更早版本,您需要手动将以下内容添加到您的config/app.php
文件中。
'providers' => [ ... 'Ciromattia\Teamwork\TeamworkServiceProvider', ],
然后,将外观添加到您的aliases
数组中
'aliases' => [ ... 'Teamwork' => 'Ciromattia\Teamwork\Facades\Teamwork', ],
配置
将teamwork
数组添加到您的config/services.php
文件中
... 'teamwork' => [ 'key' => 'YourSecretKey', 'url' => 'YourTeamworkUrl' ],
使用
使用此功能有两种方式:第一种是通过Teamwork外观,如下所示
Teamwork::people()->all();
如果您想使用依赖注入来简化应用程序的测试,Service Provider将绑定Ciromattia\Teamwork\Factory
。以下是一个使用依赖注入的示例
Route::get('/test', function(Ciromattia\Teamwork\Factory $teamwork) { $activity = $teamwork->activity()->latest(); });
方法
可用的方法模拟Teamwork实体的小写形式并查询同名的API,因此您可以使用单个项目进行检索,例如
Teamwork::project($project_id)->find();
所有实体都通用的常用方法有
all()
- 返回所有查询结果(即所有实体对象)。find($id)
- 返回具有指定ID的单个对象。create($data)
- 使用$data
参数创建单个对象。update($data)
- 使用$data
参数更新单个对象。delete($id)
- 删除具有指定ID的单个对象。
目前实现的实体包括
以下特殊实体没有上述常用方法
不带Laravel的配置
如果您不使用Laravel,可以像这样实例化类
require "vendor/autoload.php"; use GuzzleHttp\Client as Guzzle; use Ciromattia\Teamwork\Client; use Ciromattia\Teamwork\Factory as Teamwork; $client = new Client(new Guzzle, 'YourSecretKey', 'YourTeamworkUrl'); $teamwork = new Teamwork($client);
现在您可以开始使用了!
示例
Teamwork API的并非所有功能都得到了支持,但您仍然可以完成很多工作!以下是如何访问项目、公司等的示例。要处理特定对象,请传入ID以执行操作。数据可以通过创建和编辑传递。
要查看更多示例,请访问文档
// create a project $teamwork->project()->create([ "name" => "My New Amazing Project", "description" => "This is a project that I will dedicate my whole life too", "companyId" => "999" ]); // get the latest activity on a project $teamwork->project($projectID)->activity();
路线图
2.0版本发布
- 添加分页支持
- 添加对
评论
的支持 - 添加对
权限
的支持 - 添加对
类别
的支持 - 添加对
人员状态
的支持 - 添加对
文件
的支持 - 添加对
笔记本
的支持
致谢
这个库是Ross Edman现在已废弃的Teamwork 5 PM API Bridge的演变。