42sol/laravel-youtrack-client

YouTrack API 客户端

1.0.7 2023-11-17 10:25 UTC

This package is auto-updated.

Last update: 2024-09-17 12:31:21 UTC


README

将服务提供者包含在您的应用程序中

在您的 config/app.php 文件中插入库服务提供者 YouTrackClient\Providers\YouTrackClientProvider::class

'providers' => [
    // other service providers
    YouTrackClient\Providers\YouTrackClientProvider::class,
]

发布包资源

这将创建 config/youtrack.php 配置文件。

php artisan vendor:publish --provider="YouTrackClient\Providers\YouTrackClientProvider"

配置

发布包资源后,您可以在 config/youtrack.php 文件中编辑配置。

要设置您的 YouTrack 实例,请在 .env 变量中添加

YT_BASE_URL=https://youtrack.example.com               # required
# YT_HUB_URL=https://youtrack.example.com/hub/api/rest # optional
YT_TOKEN="youtrack access token"                       # required

默认路由

如果需要,使用 YouTrackClient\YouTrackRoutes::apply(); 来应用默认库路由,例如

/**
 * This will make routes:
 *  - /yt/projects
 *  - /yt/issues
 *  - ...
 */
Route::prefix('/yt')->group(function () {
    YouTrackClient\YouTrackRoutes::apply();
});

路由

  • /projects - 获取所有项目
  • /projects/{id} - 通过 ID 获取详细的项目信息
  • /projects/{id}/issues - 获取项目问题
  • /projects/{id}/timeTrackingSettings - 获取项目时间跟踪设置
  • /agiles - 获取所有敏捷看板
  • /agiles/{id} - 通过 ID 获取详细的敏捷信息
  • /issues?query=<filter>&offset=0&limit=50 - 通过筛选器获取问题
  • /issues/{id} - 通过 ID 获取详细的问题信息
  • /organizations - 获取所有组织
  • /users - 获取所有用户

使用方法

手动

use YouTrackClient\YouTrackClient;

$client = new YouTrackClient([
    'baseUrl' => 'https://youtrack.example.com/api',
    'hubUrl' => 'https://youtrack.example.com/hub/api/rest', // optional
    'token' => '<youtrack access token>'
]);

$client->getProjects();

使用依赖注入

use YouTrackClient\YouTrackClient;

class YoutrackTestController extends Controller
{
    private YouTrackClient $client;

    // YouTrackClient will be injected here
    public function __construct(YouTrackClient $client)
    {
        $this->client = $client;
    }

    public function getProjects() {
        return $this->client->getProjects();
    }
}