Создать колонку проекта
POST /repos/{owner}/{repo}/projects/{project_id}/columns
Описание
Метод POST создает новую колонку на Kanban-доске указанного проекта. Колонка — это этап рабочего процесса (например, «To Do», «In progress», «Done»), в котором размещаются задачи.
Метод применяется для расширения структуры проекта, когда стандартного шаблона колонок недостаточно (например, добавление колонок «Code review» или «Blocked»).
Токен
Требуется токен с правами на Запись для Репозитория.
Заголовки
| Параметр | Обязательный | Описание |
|---|---|---|
| Accept | Нет | Тип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest |
| Authorization | Да | Токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN> |
| Content-Type | Да | Тип содержимого запроса: application/json |
Параметры пути
В URL запроса необходимо передать следующие идентификаторы ресурса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| owner | string | Да | Владелец репозитория (логин пользователя или имя организации) |
| repo | string | Да | Название репозитория (без расширения .git) |
| project_id | integer | Да | Уникальный идентификатор проекта |
Тело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| title | string | Да | Название колонки |
| color | string | Нет | Цвет колонки в HEX-формате (например, #8250DF) |
Пример тела запроса
{
"title": "Code review",
"color": "#8250DF"
}Пример запроса
Ниже приведен пример использования curl для создания колонки в проекте с идентификатором 42.
curl -X POST "https://api.gitverse.ru/repos/myorg/backend-api/projects/42/columns" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=latest" \
-H "Content-Type: application/json" \
-d '{
"title": "Code review",
"color": "#8250DF"
}'Замените YOUR_TOKEN на ваш личный токен доступа.
Ответ при успешном выполнении (201 Created)
При успешном создании колонки сервер вернет ответ с кодом 201 Created и телом в формате JSON, содержащим объект созданной колонки:
{
"id": 10,
"title": "Code review",
"color": "#8250DF",
"default": false,
"sorting": 4,
"created_at": "2026-09-17T09:30:00Z",
"updated_at": "2026-09-17T09:30:00Z"
}Структура ответа
Ответ — объект ProjectColumn (созданная колонка). Полная структура описана в графе объектов, раздел «Объект ProjectColumn».
На корневом уровне объект содержит:
| Поле | Тип | Описание |
|---|---|---|
id | integer | Уникальный идентификатор колонки |
title | string | Название колонки |
color | string | Цвет колонки в формате HEX (например, #0969DA) |
default | boolean | Является ли колонка колонкой по умолчанию |
sorting | integer | Порядковый номер колонки для сортировки |
created_at | string (date-time) | Дата создания колонки |
updated_at | string (date-time) | Дата последнего обновления колонки |
Коды ответа
Результат выполнения запроса определяется по HTTP-статусу:
| Код | Статус | Описание |
|---|---|---|
| 201 | Created | Колонка успешно создана |
| 400 | Bad Request | Некорректное тело запроса (некорректный JSON или отсутствует поле title) |
| 401 | Unauthorized | Не передан или невалиден токен авторизации |
| 403 | Forbidden | Нет прав на запись в репозиторий |
| 404 | Not Found | Репозиторий или проект не найдены |
| 500 | Internal Server Error | Внутренняя ошибка сервера GitVerse |
Пример ответа с ошибкой
Пример некорректного запроса: отсутствует обязательное поле title.
{
"color": "#8250DF"
}Сервер вернет ответ 400 Bad Request:
{
"message": "Bad Request",
"documentation_url": "https://gitverse.ru/docs/developers/public-api/errors"
}Прочие коды ошибки возвращают ответ той же структуры, например 404 Not Found:
{
"message": "Not Found",
"documentation_url": "https://gitverse.ru/docs/developers/public-api/errors"
}Особенности метода
- поле
sortingпри создании не передается: позиция новой колонки назначается автоматически. Переместить или переименовать колонку позже можно методомPATCH /repos/{owner}/{repo}/projects/{project_id}/columns/{column_id}; - новая колонка создается без задач. Чтобы переместить в нее задачу, используйте метод
PATCH /repos/{owner}/{repo}/issues/{index}.
Формат ответа и заголовки
Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=latest.