johnrich85/teamwork

Teamwork项目管理API的PHP包装器

v2.0.0 2024-02-28 10:01 UTC

This package is auto-updated.

Last update: 2024-09-28 11:57:17 UTC


README

teamwork-graphic

Scrutinizer Code Quality Code Coverage Build Status Release License

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

安装

您可以直接这样添加

composer require "johnrich85/teamwork"

Laravel配置

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

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

然后将门面添加到您的aliases数组中

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

配置

如果您使用Laravel,则可以将一个teamwork数组添加到您的config/services.php文件中

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

使用

如果您使用Laravel的Facade,可以轻松访问Teamwork,如下所示

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

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

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

非Laravel配置

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

require "vendor/autoload.php";

use GuzzleHttp\Client as Guzzle;
use Johnrich85\Teamwork\Client;
use Johnrich85\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 to",
    "companyId" => "999"
]);

// get the latest activity on a project
$teamwork->project($projectID)->activity();

路线图

1.1版本

  • 添加对评论的支持
  • 添加对权限的支持
  • 添加对时间端点的支持

1.2版本

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