Задачи

Этот раздел API описывает методы работы с задачами в репозиториях и организациях GitVerse. Эндпоинты позволяют создавать задачи, получать информацию о типах задач, управлять иерархией задач через связи «состоит из» и «является частью».

Создание задач

1. POST /repos/{owner}/{repo}/issues

Создает новую задачу в указанном репозитории.

Типы задач

Методы подраздела позволяют получать информацию о типах задач, настроенных в организации.

2. GET /orgs/{org}/issue-types

Возвращает список типов задач, настроенных в указанной организации. При наличии организации по названию всегда возвращается захардкоженный набор типов задач, так как типы задач для всех одинаковые.

Связи между задачами

Методы подраздела позволяют получать информацию о родительских и дочерних задачах, а также управлять связями между ними (связи «состоит из» и «является частью»).

⚠️ Важно: Все методы работы со связями учитывают ролевую модель (раздел «Работа со связями»). При отсутствии прав у пользователя возвращается ошибка 404 Not Found.

3. GET /repos/{owner}/{repo}/issues/{issue_number}/parent

Возвращает информацию о родительской задаче для указанной дочерней задачи. Учитывается приватность репозитория: если репозиторий приватный, а запрос выполняется не владельцем, соавтором или участником команды с доступом, возвращается ошибка 404.

4. GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues

Возвращает массив дочерних задач для указанной родительской задачи. Поддерживается пагинация через параметры page и per_page. Учитывается приватность репозитория.

5. POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues

Создает связь родительской задачи с дочерней задачей (связь «состоит из»). Поддерживает параметр replace_parent для замены существующей родительской задачи у дочерней.

6. DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issues

Удаляет связь родительской задачи с дочерней задачей. Сами задачи при этом не удаляются.

Реакции на задачу

7. GET /repos/{owner}/{repo}/issues/{issue_number}/reactions

Возвращает массив реакций, оставленных пользователями на задачу.

8. POST /repos/{owner}/{repo}/issues/{issue_number}/reactions/react

Устанавливает реакцию на задачу или запрос на слияние.

9. POST /repos/{owner}/{repo}/issues/{issue_number}/reactions/unreact

Снимает реакцию с задачи или запроса на слияние.

Возможные ошибки

КодОписание
400 Bad RequestНекорректные параметры запроса (например, превышение лимитов по длине названия, описания или некорректный цвет)
401 UnauthorizedНеобходима авторизация. Токен отсутствует или невалиден
404 Not FoundРесурс не найден либо нет доступа к нему (включая случаи отсутствия прав на приватный репозиторий или недостаточных прав по ролевой модели)
422 Unprocessable EntityОшибка валидации (например, попытка создать связь задачи с самой собой, связь уже существует, или передан ID запроса на слияние вместо задачи)
500 Internal Server ErrorВнутренняя ошибка сервера