bluestone / redmine-api

Redmine API 客户端

v1.2.6 2023-11-09 21:56 UTC

This package is auto-updated.

Last update: 2024-09-09 23:53:09 UTC


README

Run tests Latest Stable Version

安装

此包需要 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 许可下的开源项目,并接受贡献。