Project Issues
Description of JSON Object Structures
Issue
| Field | Type | Description |
|---|---|---|
id |
String | Unique issue UUID |
localId |
String | Local issue ID |
description |
String | Issue description |
title |
String | Issue title |
status |
Set(Status) | Issue status |
assigneUsers |
Set(User) | List of responsible users |
labels |
Set(Label) | List of issue labels |
projectAlias |
String | Project alias |
userAlias |
String | Project owner alias |
updatedAt |
LocalDateTime | Last issue update time |
createdAt |
LocalDateTime | Issue creation time |
updatedBy |
User | Information about the last user who updated the issue |
Issue status
| Field | Type | Description |
|---|---|---|
id |
String | Status UUID |
title |
String | Status title |
hash |
String | Status hash |
alias |
String | Status alias |
ownerAlias |
String | Status owner alias |
color |
String | Status color name |
hexColor |
String | Color code |
icon |
String | Issue icon |
isDeleted |
Boolean | Whether the status is deleted |
Label
| Field | Type | Description |
|---|---|---|
id |
String | Label UUID |
hexColor |
String | Label color code |
title |
String | Label title |
description |
String | Label description |
isTextLight |
Boolean | Determines the label title color. true means white color, false means black color |
User
| Field | Type | Description |
|---|---|---|
id |
String | Unique user UUID |
username |
String | User alias |
name |
String | User name |
surname |
String | User surname |
fullName |
String | User full name |
avatar |
String | Link to user avatar |
cover |
String | Link to user background |
Issue relation
| Field | Type | Description |
|---|---|---|
targetIssueUuid |
String | Related issue UUID |
targetIssueName |
String | Related issue title |
targetProjectAlias |
String | Project alias where the related issue is located |
targetOwnerAlias |
String | Project owner alias where the related issue is located |
targetIssueLocalId |
Long | Local ID of the related issue |
issueRelationType |
String | Relation type. Possible values are presented in the table |
| Relation Type | Value |
|---|---|
HIERARCHY_FORWARD |
Child for issue |
HIERARCHY_REVERSE |
Parent for issue |
AFFECTS_REVERSE |
Affects issue |
AFFECTS_FORWARD |
Affected in issue |
DUPLICATE_FORWARD |
Duplicate from issue |
DUPLICATE_REVERSE |
Duplicated in issue |
SHARED_PARAMETER_REFERENCED_BY_FORWARD |
Reference from issue |
SHARED_PARAMETER_REFERENCED_BY_REVERSE |
References issue |
RELATED |
Related to issue |
DEPENDENCY_FORWARD |
Successor for issue |
DEPENDENCY_REVERSE |
Predecessor for issue |
TESTED_BY_FORWARD |
Tested in issue |
TESTED_BY_REVERSE |
Tests issue |
SHARED_STEP_REFERENCED_BY_FORWARD |
Test case for issue |
SHARED_STEP_REFERENCED_BY_REVERSE |
Shared steps for issue |
File
| Field | Type | Description |
|---|---|---|
uploadFileUuid |
String | File UUID |
filePath |
String | Relative path where the file is saved on the file system |
webFilePath |
String | Relative path where the file is available for download |
fileName |
String | File name |
fileSize |
String | File size |
uploadDate |
LocalDate | File upload date |
Methods for Issues
You can learn about issue functionality here
Get Issue
GET /project/{ownerAlias}/{projectAlias}/issue/{localId}
The request returns a project's issue by its local number.
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner whose issue will be returned |
projectAlias |
String | Alias of the project whose issue will be returned |
localId |
Long | Local ID of the issue to be returned |
Responses
STATUS 200 - Issue successfully returned.
Response example
{
"id": "522d58b6-aaaa-aaaa-aaaa-a3ccba39032b",
"localId": 19,
"description": "Example description",
"title": "Example title",
"status": {
"id": "COMPLETED",
"title": "Completed",
"hash": null,
"alias": null,
"ownerAlias": null,
"color": "success",
"hexColor": "28A745",
"icon": null,
"isDeleted": false
},
"assignedUsers": [
{
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
],
"labels": [
{
"id": "c3e20e76-aaaa-aaaa-aaaa-0846de71cfc3",
"hexColor": "F58A07",
"title": "error",
"description": "Error in new feature",
"isTextLight": false
}
],
"projectAlias": "test_project",
"userAlias": "USER",
"updatedAt": "14 minutes ago",
"createdAt": "1 month ago",
"updatedBy": {
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Get Issue List
GET /project/{ownerAlias}/{projectAlias}/issue
The request returns a list of project issues, with the ability to configure the number of displayed objects per page
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner whose issue list will be returned |
projectAlias |
String | Alias of the project whose issue list will be returned |
Responses
STATUS 200 Issue list successfully returned.
Response example
{
"_embedded": {
"issueModelList": [
{
"id": "522d58b6-aaaa-aaaa-aaaa-a3ccba39032b",
"localId": 19,
"description": "Example description",
"title": "Example title",
"status": {
"id": "COMPLETED",
"title": "Completed",
"hash": null,
"alias": null,
"ownerAlias": null,
"color": "success",
"hexColor": "28A745",
"icon": null,
"isDeleted": false
},
"assignedUsers": [
{
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
],
"labels": [
{
"id": "c3e20e76-aaaa-aaaa-aaaa-0846de71cfc3",
"hexColor": "F58A07",
"title": "error",
"description": "Error in new feature",
"isTextLight": false
}
],
"projectAlias": "test_project",
"userAlias": "USER",
"updatedAt": "14 minutes ago",
"createdAt": "1 month ago",
"updatedBy": {
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
}
]
},
"page": {
"size": 10,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Create Issue
POST /project/{ownerAlias}/{projectAlias}/issue
The request creates an issue with parameters and returns it
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue will be created |
projectAlias |
String | Alias of the project where the issue will be created |
Request
Supported JSON format
POST request body structure:
| Parameter | Type | Description |
|---|---|---|
title |
String | Issue title (required parameter) |
description |
String | Issue description (required parameter) |
status |
IssueStatus | Issue status. Accepts a list of id parameters which can have the following values: OPEN, IN_PROGRESS, CLOSED or COMPLETED |
assignedUsers |
Set(User) | List of users who are responsible. Accepts a list of id parameters |
labels |
Set(Label) | List of labels. Accepts a list of id parameters |
JSON Object Example
{
"title": "Example title",
"description": "Example description",
"assignedUsers": [
{
"id": "fe9e9812-aaaa-aaaa-aaaa-63cd21e53210"
}
],
"labels": [
{
"id": "c3e20e76-aaaa-aaaa-aaaa-0846de71cfc3"
}
],
"status":
{
"id": "OPEN"
}
}
Responses
STATUS 200 Issue successfully created.
Response example
{
"id": "522d58b6-aaaa-aaaa-aaaa-a3ccba39032b",
"localId": 19,
"description": "Example description",
"title": "Example title",
"status": {
"id": "OPEN",
"title": "New",
"hash": null,
"alias": null,
"ownerAlias": null,
"color": "info",
"hexColor": "17A2B8",
"icon": null,
"isDeleted": false
},
"assignedUsers": [
{
"id": "fe9e9812-aaaa-aaaa-aaaa-63cd21e53210",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
],
"labels": [
{
"id": "c3e20e76-aaaa-aaaa-aaaa-0846de71cfc3",
"hexColor": "F58A07",
"title": "error",
"description": "Error in new feature",
"isTextLight": false
}
],
"projectAlias": "test_project",
"userAlias": "USER",
"updatedAt": "14 minutes ago",
"createdAt": "1 month ago",
"updatedBy": {
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Edit Issue
PUT /project/{ownerAlias}/{projectAlias}/issue/{localId}/edit
The request edits a project's issue by parameters and returns it
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue to be modified |
Request
Supported JSON format
PUT request body structure:
| Parameter | Type | Description |
|---|---|---|
title |
String | Issue title (required parameter) |
description |
String | Issue description (required parameter) |
status |
IssueStatus | Issue status. Accepts a list of id parameters which can have the following values: OPEN, IN_PROGRESS, CLOSED or COMPLETED |
assignedUsers |
Set(User) | List of users who are responsible. Accepts a list of id parameters |
labels |
Set(Label) | List of labels. Accepts a list of id parameters |
JSON Object Example
{
"title": "Example title",
"description": "Example description",
"assignedUsers": [
{
"id": "fe9e9812-aaaa-aaaa-aaaa-63cd21e53210"
}
],
"labels": [
{
"id": "c3e20e76-aaaa-aaaa-aaaa-0846de71cfc3"
}
],
"status":
{
"id": "OPEN"
}
}
Responses
STATUS 200 Issue successfully modified.
Response example
{
"id": "522d58b6-aaaa-aaaa-aaaa-a3ccba39032b",
"localId": 19,
"description": "Example description",
"title": "Example title",
"status": {
"id": "OPEN",
"title": "New",
"hash": null,
"alias": null,
"ownerAlias": null,
"color": "info",
"hexColor": "17A2B8",
"icon": null,
"isDeleted": false
},
"assignedUsers": [
{
"id": "fe9e9812-aaaa-aaaa-aaaa-63cd21e53210",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
],
"labels": [
{
"id": "c3e20e76-aaaa-aaaa-aaaa-0846de71cfc3",
"hexColor": "F58A07",
"title": "error",
"description": "Error in new feature",
"isTextLight": false
}
],
"projectAlias": "test_project",
"userAlias": "USER",
"updatedAt": "14 minutes ago",
"createdAt": "1 month ago",
"updatedBy": {
"id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
"username": "USER",
"name": "user",
"surname": "name",
"fullName": "user name",
"avatar": "https://gitflic.ru/upload/img/6da34d10-aaaa-aaaa-aaaa-19b7e2151276.jpg",
"cover": "/upload/img/3b7780f1-aaaa-aaaa-aaaa-97e55d7bbdbb.jpg"
}
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Delete Issue
DELETE /project/{ownerAlias}/{projectAlias}/issue/{localId}/delete
The request deletes an issue
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue to be deleted |
Responses
STATUS 200 - Successful issue deletion.
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Methods for Issue Relations
You can learn about issue relation functionality here
Get Issue Relations List
GET /project/{ownerAlias}/{projectAlias}/issue/{localId}/issue-relations
The request returns a list of issue relations, with the ability to configure the number of displayed objects per page
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue whose relations list will be returned |
Responses
STATUS 200 Issue relations list successfully returned.
Response example
{
"_embedded": {
"restIssueRelationModelList": [
{
"targetIssueUuid": "8c453327-aaaa-aaaa-aaaa-dc66326d71c9",
"targetIssueName": "API request error",
"targetProjectAlias": "company-project-1",
"targetOwnerAlias": "company-name",
"targetIssueLocalId": 14,
"issueRelationType": "SHARED_PARAMETER_REFERENCED_BY_REVERSE"
},
{
"targetIssueUuid": "446b0df8-aaaa-aaaa-aaaa-140ffd68df7e",
"targetIssueName": "Incorrect layout",
"targetProjectAlias": "company-project-2",
"targetOwnerAlias": "company-name",
"targetIssueLocalId": 22,
"issueRelationType": "AFFECTS_FORWARD"
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Create Issue Relation
POST /project/{ownerAlias}/{projectAlias}/issue/{localId}/create-issue-relation
The request creates a relation between issues and returns it.
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue for which the relation will be created |
Request
Supported JSON format
POST request body structure:
| Parameter | Type | Description |
|---|---|---|
targetIssueUuid |
String | UUID of the issue with which the relation will be created |
relationType |
String | Type with which the relation will be created |
Possible values for relationType field
| Relation Type | Value |
|---|---|
HIERARCHY_FORWARD |
Child for issue |
HIERARCHY_REVERSE |
Parent for issue |
AFFECTS_REVERSE |
Affects issue |
AFFECTS_FORWARD |
Affected in issue |
DUPLICATE_FORWARD |
Duplicate from issue |
DUPLICATE_REVERSE |
Duplicated in issue |
SHARED_PARAMETER_REFERENCED_BY_FORWARD |
Reference from issue |
SHARED_PARAMETER_REFERENCED_BY_REVERSE |
References issue |
RELATED |
Related to issue |
DEPENDENCY_FORWARD |
Successor for issue |
DEPENDENCY_REVERSE |
Predecessor for issue |
TESTED_BY_FORWARD |
Tested in issue |
TESTED_BY_REVERSE |
Tests issue |
SHARED_STEP_REFERENCED_BY_FORWARD |
Test case for issue |
SHARED_STEP_REFERENCED_BY_REVERSE |
Shared steps for issue |
JSON Object Example
{
"targetIssueUuid": "446b0df8-aaaa-aaaa-aaaa-140ffd68df7e",
"relationType": "AFFECTS_FORWARD"
}
Responses
STATUS 200 - Relation between issues successfully created and returned.
Response example
{
"targetIssueUuid": "446b0df8-aaaa-aaaa-aaaa-140ffd68df7e",
"targetIssueName": "Incorrect layout",
"targetProjectAlias": "company-project-2",
"targetOwnerAlias": "company-name",
"targetIssueLocalId": 22,
"issueRelationType": "AFFECTS_FORWARD"
}
STATUS 400 - Cannot create relation with the issue specified in the targetIssueUuid field
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
STATUS 409 - Error creating relation, as there is already a relation between the specified issues.
Delete Issue Relation
DELETE /project/{ownerAlias}/{projectAlias}/issue/{localId}/delete-issue-relation?targetIssueUuid={relationUuid}
The request deletes a relation between issues.
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue whose relation will be deleted |
relationUuid |
String | UUID of the relation to delete |
Responses
STATUS 200 - Successful relation deletion.
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Methods for Attached Files
You can learn about file attachment functionality for issues here
Get List of Files Attached to Issue
GET /project/{ownerAlias}/{projectAlias}/issue/{localId}/files
The request returns a list of files attached to the issue, with the ability to configure the number of displayed objects per page
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue whose file list will be returned |
Responses
STATUS 200 - List of files attached to the issue successfully returned.
Response example
{
"_embedded": {
"restProjectUploadFileModelList": [
{
"uploadFileUuid": "8be8f27c-aaaa-aaaa-aaaa-1024dd2f5d80",
"filePath": "project/1b/1b7f0fca-aaaa-aaaa-aaaa-140978fab4e2/attachment/45b0f1a4-aaaa-aaaa-aaaa-86a0c3ae8e3d/gitflic.jar",
"webFilePath": "/upload/-/project/1b7f0fca-aaaa-aaaa-aaaa-140978fab4e2/attachment/45b0f1a4-aaaa-aaaa-aaaa-86a0c3ae8e3d/gitflic.jar",
"fileName": "gitflic.jar",
"fileSize": "400MB",
"uploadDate": "2025-01-01T12:00:00.000000"
},
{
"uploadFileUuid": "0cfc3414-aaaa-aaaa-aaaa-03faa70b5639",
"filePath": "project/1b/1b7f0fca-aaaa-aaaa-aaaa-140978fab4e2/attachment/8a216b75-aaaa-aaaa-aaaa-dfb573a770d3/error.log",
"webFilePath": "/upload/-/project/1b7f0fca-aaaa-aaaa-aaaa-140978fab4e2/attachment/8a216b75-aaaa-aaaa-aaaa-dfb573a770d3/error.log",
"fileName": "error.log",
"fileSize": "150KB",
"uploadDate": "2025-01-01T12:00:00.000000"
}
]
},
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Attach File to Issue
POST /project/{ownerAlias}/{projectAlias}/issue/{localId}/link-file?uploadFileUuid={fileUuid}
The request attaches a file to the issue and returns it. The specified file must not be attached to any issue but must be uploaded to the project. A separate method is available for uploading files to the project.
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue to which the file will be attached |
fileUuid |
String | UUID of the file to be attached to the issue |
Responses
STATUS 200 - File successfully attached to the issue and returned.
Response example
{
"uploadFileUuid": "0cfc3414-aaaa-aaaa-aaaa-03faa70b5639",
"filePath": "project/1b/1b7f0fca-aaaa-aaaa-aaaa-140978fab4e2/attachment/8a216b75-aaaa-aaaa-aaaa-dfb573a770d3/error.log",
"webFilePath": "/upload/-/project/1b7f0fca-aaaa-aaaa-aaaa-140978fab4e2/attachment/8a216b75-aaaa-aaaa-aaaa-dfb573a770d3/error.log",
"fileName": "error.log",
"fileSize": "150KB",
"uploadDate": "2025-01-01T12:00:00.000000"
}
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
STATUS 409 - The specified file is already attached to the issue.
Delete Relation Between File and Issue
DELETE /project/{ownerAlias}/{projectAlias}/issue/{localId}/delete-file-relation?uploadFileUuid={fileUuid}
The request deletes the relation between a file and an issue, and also deletes the file itself.
| Path Variable | Type | Description |
|---|---|---|
ownerAlias |
String | Alias of the project owner where the issue is located |
projectAlias |
String | Alias of the project where the issue is located |
localId |
Long | Local ID of the issue from which the file will be detached |
fileUuid |
String | UUID of the file whose relation will be deleted |
Responses
STATUS 200 - Successful deletion of the relation between the file and the issue.
STATUS 403 - No access rights.
STATUS 404 - No data found for the request.
Automated translation!
This page was translated using automatic translation tools. The text may contain inaccuracies.