bluestone / redmine-api
Redmine API 客户端
v1.2.6
2023-11-09 21:56 UTC
Requires
- php: ^8.1
- bluestone/dto: ^1.0
- guzzlehttp/guzzle: ^7.3
Requires (Dev)
- marcocesarato/php-conventional-changelog: ^1.15
- phpunit/phpunit: ^9.5.10
- squizlabs/php_codesniffer: ^3.7
README
安装
此包需要 php:^8.1
。
您可以通过 composer 安装它
composer require bluestone/redmine-api
使用方法
首先,您需要使用 Guzzle 客户端构建我们的服务,如下所示
$httpHandler = new \Bluestone\Redmine\HttpHandler( baseUri: 'https://redmine.org' ); $redmine = new \Bluestone\Redmine\Client($httpHandler);
让我们逐一讨论所有可能性。
获取项目
您可以使用此方法从 Redmine API 获取项目
$response = $redmine->project()->all(); foreach ($response->items as $project) { echo $project->name; }
获取问题
您可以使用此方法从 Redmine API 获取问题
$response = $redmine->issue()->all(); foreach ($response->items as $issue) { echo $issue->subject; }
获取项目的版本
您可以使用此方法从 Redmine API 获取项目的版本
$project = new \Bluestone\Redmine\Entities\Project([ 'id' => 42, ]) $response = $redmine->version()->all($project); foreach ($response->items as $version) { echo $version->name; }
获取时间条目
您可以使用此方法从 Redmine API 获取时间条目
$response = $redmine->timeEntry()->all(); foreach ($response->items as $timeEntry) { echo $timeEntry->hours; }
获取特定问题
您可以使用此方法从 Redmine API 获取特定问题
$response = $redmine->issue()->get(1); $issue = $response->items[0]; echo $issue->subject;
更新问题
您可以使用此方法从 Redmine API 更新问题
$issue = new \Bluestone\Redmine\Entities\Issue([ 'id' => 1, 'subject' => 'Hello from API', 'project' => new Project(id: 1), 'note' => 'Update an issue from API', ]); $response = $redmine->issue()->update($issue); if ($response->statusCode === 204) { echo "Well done !" }
贡献
Redmine API 客户端是一个在 MIT 许可下的开源项目,并接受贡献。