alessandrominoccheri / trello-cycle-time
获取Trello卡片周期时间的库
v0.7.2
2019-07-30 07:27 UTC
Requires
- php: ^7.1.3
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- jangregor/phpstan-prophecy: ^0.4.1
- phpstan/phpstan: ^0.11.8
- phpunit/phpunit: *
- vimeo/psalm: ^3.4
README
这个库是一个PHP库,用于从Trello看板获取卡片周期时间。使用这个工具,您可以查看卡片在板中从一个状态转到另一个状态需要多长时间。
安装
您可以通过composer安装此包,如下所示
composer require alessandrominoccheri/trello-cycle-time
如何使用它?
要使用此库,您需要具备
- Trello API密钥
- Trello Token
- 要分析的Trello看板ID
所有卡片
要获取所有卡片转换列,可以使用以下代码作为示例
use TrelloCycleTime\Client\TrelloApiClient;
$client = new TrelloApiClient('apikey', 'token');
$board = new TrelloBoard($client, 'board-id');
$transitions = $board->getTransitions();
var_dump($transitions);
getTransitions
的响应是一个包含一些信息的数组,例如
[0 => [
'id' => 'cardId',
'title' => 'cardName',
'cycleTimes' => [
0 => [
'from' => 'Doing',
'to' => 'Done',
'days' => '6',
'name' => 'Doing_DOne'
],
1 => [
'from' => 'ToDo',
'to' => 'Doing',
'days' => '1',
'name' => 'ToDo_Doing'
]
]
]
];
在这种情况下,您可以查看该卡片从“待办”状态到“进行中”状态需要1天,从“进行中”状态到“完成”状态需要6天。
特定卡片转换
要获取特定卡片的转换,可以使用其ID,如下所示
use TrelloCycleTime\Client\TrelloApiClient;
$client = new TrelloApiClient('apikey', 'token');
$board = new TrelloBoard($client, 'board-id');
$transitions = $board->getCardTransitions('cardId');
var_dump($transitions);
getTransitions
的响应是一个包含有关该卡片信息的数组,例如
[0 => [
'id' => 'cardId',
'title' => 'cardName',
'cycleTimes' => [
0 => [
'from' => 'Doing',
'to' => 'Done',
'days' => '6',
'name' => 'Doing_DOne'
],
1 => [
'from' => 'ToDo',
'to' => 'Doing',
'days' => '1',
'name' => 'ToDo_Doing'
]
]
]
];
在这种情况下,您可以查看该卡片从“待办”状态到“进行中”状态需要1天,从“进行中”状态到“完成”状态需要6天。
过滤器
您可以使用一些参数来过滤列卡片。以下是一些可能的过滤器
从列到列
如果您只想知道所有卡片或单个卡片从一个列转换到另一个列花费了多长时间,
为此,您可以使用此代码
$transitions = $board->getTransitions(['fromColumn' => 'todo', 'toColumn' => 'done']);
或针对特定卡片
$transitions = $board->getCardTransitions('cardId', ['fromColumn' => 'todo', 'toColumn' => 'done']);
从日期到日期
如果您只想知道所有卡片或单个卡片通过从日期或到日期或同时进行过滤花费了多长时间,
为此,您可以使用此代码
$transitions = $board->getTransitions(['fromDate' => '2019-01-01', 'toDate' => '2019-12-31']);
$transitions = $board->getTransitions(['fromDate' => '2019-01-01']);
$transitions = $board->getTransitions(['toDate' => '2019-12-31']);
或针对特定卡片
$transitions = $board->getCardTransitions(['fromDate' => '2019-01-01', 'toDate' => '2019-12-31']);
贡献
欢迎所有贡献,请记住添加测试并使用psalm和phpstan
./vendor/bin/phpunit
./vendor/bin/psalm
./vendor/bin/phpstan analyse