hyperdigital/teamwork

Teamwork项目管理API的PHP包装器

v1.1.0 2017-03-02 00:31 UTC

This package is auto-updated.

Last update: 2024-09-18 07:07:26 UTC


README

teamwork-graphic

Scrutinizer Code Quality Code Coverage Build Status Release License

这是一个简单的PHP客户端,可以连接到Teamwork API。此包是为与Laravel 5一起使用而开发的,但也可以独立使用。希望这能帮助您自动化并扩展Teamwork,使其更好地融入您的业务!祝您玩得开心,好运!🤘

安装

只需将其添加到您的composer.json中,然后运行composer update

"rossedman/teamwork": "~1.0"

您也可以这样简单添加

composer require "rossedman/teamwork:~1.0"

Laravel设置

此包装器支持Laravel 5。这包括服务提供程序以及用于轻松访问的外观。一旦将此包引入您的项目,只需将其添加到您的config/app.php文件中。

'providers' => [
    ...
    'Rossedman\Teamwork\TeamworkServiceProvider',
],

然后添加外观到您的aliases数组

'aliases' => [
    ...
    'Teamwork' => 'Rossedman\Teamwork\Facades\Teamwork',
],

配置

如果您使用Laravel,请向您的config/services.php文件中添加一个teamwork数组

...
'teamwork' => [
    'key'  => 'YourSecretKey',
    'url'  => 'YourTeamworkUrl'
],

使用

如果您使用Laravel的外观,可以轻松访问Teamwork如下

Teamwork::people()->all();

如果您想使用依赖注入使应用程序易于测试,服务提供程序将绑定Rossedman\Teamwork\Factory。以下是如何使用依赖注入的示例

Route::get('/test', function(Rossedman\Teamwork\Factory $teamwork) {
   $activity = $teamwork->activity()->latest();
});

非Laravel配置

如果您不使用Laravel,可以像这样实例化类

require "vendor/autoload.php";

use GuzzleHttp\Client as Guzzle;
use Rossedman\Teamwork\Client;
use Rossedman\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();

路线图

1.1版本

  • 添加对注释的支持
  • 添加对权限的支持
  • 添加对时间端点的支持

1.2版本

  • 添加对类别的支持
  • 添加对人员状态的支持
  • 添加对文件的支持
  • 添加对笔记本的支持