Добавить связь с дочерней задачей
POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues
Описание метода
Метод POST позволяет добавить связь с дочерней задачей.
⚠️ Предупреждение: должна учитываться ролевая модель добавления связи с дочерней задачей (т.е. добавления задачи со связью «Состоит из»).
Токен
Требуется токен с правами на Чтение для Репозитория.
Заголовки запроса
| Параметр | Обязательный | Описание |
|---|---|---|
Accept | Нет | Тип представления. Рекомендуется устанавливать значение application/vnd.gitverse.object+json;version=1 |
Authorization | Да | Для аутентификации используется токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN> |
Content-Type | Да | Тип содержимого запроса: application/json |
Параметры пути
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
owner | Да | string | Имя владельца репозитория (пользователя или организации) |
repo | Да | string | Название репозитория |
issue_number | Да | integer | Номер задачи, к которой добавляют связанную дочернюю |
Параметры запроса
Данный метод не поддерживает параметры запроса.
Тело запроса
Тело запроса должно содержать следующие параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
sub_issue_id | Да | integer | Номер привязываемой дочерней задачи в репозитории |
replace_parent | Нет | boolean | Признак того, что нужно заменить родительскую задачу у привязываемой (если она есть). По умолчанию false. |
Логика работы параметра replace_parent:
- если
true, и у привязываемой задачи есть родительская задача, то связь с ней удаляется, и вместо нее создается связь с родительской задачей из этого запроса; - если
false, и у привязываемой задачи есть родительская задача, то возвращается ошибка422.
Пример запроса
curl -X POST "https://api.gitverse.ru/repos/user123/repo123/issues/42/sub_issues" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{
"sub_issue_id": 43,
"replace_parent": false
}'Пример ответа (201 Created)
Возвращается объект родительской Issue задачи:
{
"id": 163211,
"node_id": null,
"url": "https://api.gitverse.ru/repos/user_42/neo2/issues/10",
"repository_url": "https://api.gitverse.ru/repos/user_42/neo2",
"labels_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/10/labels{/name}",
"comments_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/10/comments",
"events_url": null,
"html_url": "https://gitverse.ru/user_42/neo2/issues/10",
"number": 10,
"user": {
"id": 65012,
"name": "Ivan Petrov",
"login": "user_17",
"type": "User",
"bio": "",
"email": "user_17@mail.org",
"avatar_url": "https://gitverse.ru/avatars/5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8",
"html_url": "https://gitverse.ru/user_17",
"url": "https://api.gitverse.ru/users/user_17",
"followers_url": "https://api.gitverse.ru/users/user_17/followers",
"following_url": "https://api.gitverse.ru/users/user_17/following{/other_user}",
"repos_url": "https://api.gitverse.ru/users/user_17/repos",
"organizations_url": "https://api.gitverse.ru/users/user_17/orgs",
"site_admin": false,
"location": null,
"is_verified": false,
"followers": 0,
"following": 2,
"public_repos": 0,
"stars_count": 0,
"created_at": "2024-10-22T06:08:57Z",
"updated_at": "2026-07-07T08:26:11Z"
},
"original_author": "",
"original_author_id": 0,
"title": "Дочерняя задача 2",
"body": "",
"ref": "",
"assets": [],
"labels": [],
"milestone": null,
"assignee": null,
"assignees": null,
"type": {
"id": 1,
"code": "task",
"name": "Задача",
"color": "#DBF0FF"
},
"state": "open",
"locked": false,
"comments": 0,
"created_at": "2026-09-10T11:20:09Z",
"updated_at": "2026-09-10T11:26:07Z",
"closed_at": null,
"due_date": null,
"timeline_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/10/timeline",
"pull_request": null,
"repository": {
"id": 309057,
"name": "neo2",
"owner": "user_42",
"full_name": "user_42/neo2"
},
"development": {
"pulls": [],
"branches": []
},
"parent_issue_url": "https://api.gitverse.ru/repos/user_42/neo2/issues/8"
}Структура ответа
Ответ — объект Issue (родительская задача). Полная структура описана в графе объектов, раздел «Объект Issue».
На корневом уровне в примере ответа присутствуют основные поля задачи:
| Поле | Тип | Описание |
|---|---|---|
id | integer | Идентификатор родительской задачи |
number | integer | Номер задачи в репозитории |
title | string | Заголовок |
state | string | Состояние |
sub_issues_summary | object | Сводка по подзадачам (см. SubIssuesSummary) |
Коды ответа
| Код | Статус | Описание |
|---|---|---|
201 | Created | Связь создана |
400 | Bad Request | Некорректные параметры запроса |
404 | Not Found | Ресурс не найден либо нет доступа к нему |
422 | Unprocessable Entity | Ошибка валидации (например, replace_parent: false при наличии у дочерней задачи другого родителя) |
500 | Internal Server Error | Внутренняя ошибка сервера |