Задачи
Этот раздел 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 | Внутренняя ошибка сервера |