Skip to content

Projects API

Service: $client->projects()

List

$projects = $client->projects()->list($organizationId)->collection();

Route GET /organizations/{organization}/projects; scope projects:read.

Create

$response = $client->projects()->create($organizationId, new CreateProjectRequest(
    name: 'Platform',
    key: 'PLAT',
    description: 'Platform engineering work',
));

Route POST /organizations/{organization}/projects; scope projects:write.

Limits: name 180 characters, key 12, description 5000 characters.

Read

$project = Project::fromResponse($client->projects()->get($projectId));

Route GET /projects/{project}; scope projects:read.

Update

$request = UpdateProjectRequest::create()
    ->name('Core Platform')
    ->description(null)
    ->archived(false);

$client->projects()->update($projectId, $request);

Route PATCH /projects/{project}; scope projects:write.

Delete

$client->projects()->delete($projectId);

Route DELETE /projects/{project}; scope projects:write. Deletion is a soft delete.

Members

$members = $client->projects()->members($projectId)->collection();

Route GET /projects/{project}/members; scope projects:read.

Labels

$labels = $client->projects()->labels($projectId)->collection();

Route GET /projects/{project}/labels; scope projects:read.

Tags

$tags = $client->projects()->tags($projectId)->collection();

Route GET /projects/{project}/tags; scope projects:read.

Analytics

$analytics = $client->projects()->analytics($projectId)->data();

Route GET /projects/{project}/analytics; scope analytics:read.