Insert library service provider YouTrackClient\Providers\YouTrackClientProvider::class
in your config/app.php
file:
'providers' => [
// other service providers
YouTrackClient\Providers\YouTrackClientProvider::class,
]
This will create config/youtrack.php
configuration file.
php artisan vendor:publish --provider="YouTrackClient\Providers\YouTrackClientProvider"
After publishing package resources you can edit configuration in config/youtrack.php
file.
To set your YouTrack instance add to .env
variables:
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
If needed, use YouTrackClient\YouTrackRoutes::apply();
to make default library routes, e.g.:
/**
* This will make routes:
* - /yt/projects
* - /yt/issues
* - ...
*/
Route::prefix('/yt')->group(function () {
YouTrackClient\YouTrackRoutes::apply();
});
Routes:
/projects
- get all projects/projects/{id}
- get detailed project information by id/projects/{id}/issues
- get project issues/projects/{id}/timeTrackingSettings
- get project time tracking settings/agiles
- get all agile board/agiles/{id}
- get detailed agile information by id/issues?query=<filter>&offset=0&limit=50
- get issues by filter/issues/{id}
- get detailed issue information by id/organizations
- get all organizations/users
- get all 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();
}
}