Создать задачу в вехе

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

Описание

Метод POST создает новую задачу в указанном репозитории и, при необходимости, сразу добавляет ее в веху с помощью поля milestone_id. В данной секции описаны только поля, связанные с вехами. Стандартные поля задачи (title, body, type, labels, assignees, due_date и другие) — см. раздел «Задачи».

Токен

Требуется токен с правами на Запись для Репозитория.

Заголовки

ПараметрОбязательныйОписание
AcceptНетТип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest
AuthorizationДаТокен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN>
Content-TypeДаТип содержимого запроса: application/json

Параметры пути

В URL запроса необходимо передать следующие идентификаторы ресурса:

ПараметрТипОбязательныйОписание
ownerstringДаВладелец репозитория (логин пользователя или имя организации)
repostringДаНазвание репозитория (без расширения .git)

Тело запроса

Помимо стандартных полей задачи, тело запроса поддерживает следующее поле, связанное с вехами:

ПараметрТипОбязательныйОписание
milestone_idintegerНетИдентификатор вехи, в которую добавляется задача

Пример тела запроса

{
  "title": "Добавить пагинацию в список вех",
  "body": "Метод API для получения списка вех возвращает не более 10 элементов. Добавить параметры `page` и `limit`.",
  "type": "task",
  "milestone_id": 12
}

Пример запроса

Ниже приведен пример использования curl для создания задачи с одновременным добавлением ее в веху с идентификатором 12.

curl -X POST "https://api.gitverse.ru/repos/myorg/backend-api/issues" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Добавить пагинацию в список вех",
    "body": "Метод API для получения списка вех возвращает не более 10 элементов. Добавить параметры `page` и `limit`.",
    "type": "task",
    "milestone_id": 12
  }'

Замените YOUR_TOKEN на ваш личный токен доступа.

Ответ при успешном выполнении (201 Created)

При успешном создании задачи сервер вернет ответ с кодом 201 Created и телом в формате JSON, содержащим объект созданной задачи:

{
  "id": 163200,
  "number": 156,
  "title": "Добавить пагинацию в список вех",
  "body": "Метод API для получения списка вех возвращает не более 10 элементов. Добавить параметры `page` и `limit`.",
  "state": "open",
  "created_at": "2026-10-20T09:30:00Z",
  "updated_at": "2026-10-20T09:30:00Z",
  "html_url": "https://gitverse.ru/myorg/backend-api/issues/156"
}

Структура ответа

Ответ — объект Issue (созданная задача). Полная структура описана в графе объектов, раздел «Объект Issue».

Коды ответа

Результат выполнения запроса определяется по HTTP-статусу:

КодСтатусОписание
201CreatedЗадача успешно создана
400Bad RequestНекорректное тело запроса (некорректный JSON или отсутствует обязательное поле title)
401UnauthorizedНе передан или невалиден токен авторизации
403ForbiddenНет прав на создание задачи в репозитории
404Not FoundРепозиторий не найден
422Unprocessable EntityОшибка валидации: некорректное значение milestone_id (например, веха не найдена) или стандартные поля задачи
500Internal Server ErrorВнутренняя ошибка сервера GitVerse

Особенности метода

  • если milestone_id не передан, задача создается без привязки к вехе. Добавить ее в веху позже можно методом POST /repos/{owner}/{repo}/issues/{issue_number};
  • одновременно задача может принадлежать только одной вехе;
  • привязка задачи к вехе отражается в таймлайне задачи.

Формат ответа и заголовки

Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=latest.