Проекты

Этот раздел API описывает методы работы с проектами (Kanban-досками) репозитория: управление проектами и их колонками, а также привязка задач к проектам.

Проект — доска, состоящая из колонок — этапов рабочего процесса. Задача привязывается к проекту через поля project_id и project_status_id: первое указывает проект, второе — колонку, в которой находится задача (ее «статус» на доске).

Доступ к методам следует ролевой модели репозитория: читать проекты могут пользователи с доступом на чтение к репозиторию, создавать, изменять и удалять — пользователи с правами на запись.

Проекты

1. GET /repos/{owner}/{repo}/projects

Возвращает список проектов репозитория. Поддерживает пагинацию, фильтрацию по состоянию и поиск по названию/описанию.

2. POST /repos/{owner}/{repo}/projects

Создает новый проект. Опционально — со стандартным шаблоном Kanban-колонок.

3. GET /repos/{owner}/{repo}/projects/{project_id}

Возвращает проект со списком колонок.

4. PATCH /repos/{owner}/{repo}/projects/{project_id}

Обновляет проект: название, описание, приватность и состояние (open/closed).

5. DELETE /repos/{owner}/{repo}/projects/{project_id}

Удаляет проект вместе с колонками. Задачи не удаляются — только отвязываются от проекта.

Колонки проекта

6. POST /repos/{owner}/{repo}/projects/{project_id}/columns

Создает колонку на Kanban-доске проекта.

7. PATCH /repos/{owner}/{repo}/projects/{project_id}/columns/{column_id}

Обновляет колонку: название, цвет, позицию на доске.

8. DELETE /repos/{owner}/{repo}/projects/{project_id}/columns/{column_id}

Удаляет колонку из проекта. Колонку с задачами удалить нельзя.

Задачи и проекты

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

Создает задачу и при необходимости сразу помещает ее в колонку проекта (поля project_id и project_status_id).

10. PATCH /repos/{owner}/{repo}/issues/{index}

Перемещает задачу в другой проект или колонку либо убирает ее из проекта.

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

КодОписание
400 Bad RequestНекорректный формат данных
401 UnauthorizedНеобходима авторизация
403 ForbiddenНедостаточно прав
404 Not FoundРепозиторий, проект, колонка или задача не найдены
422 Unprocessable EntityОшибка валидации данных (при создании задачи — некорректные project_id/project_status_id)
500 Internal Server ErrorВнутренняя ошибка сервера