Изменить задачу: привязка к вехе

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

Описание

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

Токен

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

Заголовки

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

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

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

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

Тело запроса

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

Сочетания значения поля и поведение метода:

milestone_idРезультат
<id вехи>Задача добавляется в указанную веху
nullЗадача убирается из текущей вехи

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

{
  "milestone_id": 12
}

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

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

curl -X POST "https://api.gitverse.ru/repos/myorg/backend-api/issues/156" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest" \
  -H "Content-Type: application/json" \
  -d '{
    "milestone_id": 12
  }'

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

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

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

{
  "id": 163200,
  "number": 156,
  "title": "Добавить пагинацию в список вех",
  "state": "open",
  "updated_at": "2026-10-20T11:05:00Z",
  "html_url": "https://gitverse.ru/myorg/backend-api/issues/156"
}

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

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

Коды ответа

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

КодСтатусОписание
200OKПривязка задачи к вехе успешно изменена
400Bad RequestНекорректное тело запроса (некорректный JSON или пустое тело)
401UnauthorizedНе передан или невалиден токен авторизации
403ForbiddenНет прав на изменение задачи в репозитории
404Not FoundРепозиторий, задача или веха не найдены
500Internal Server ErrorВнутренняя ошибка сервера GitVerse

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

  • чтобы убрать задачу из вехи, передайте milestone_id: null. Сама задача не удаляется: она остается в репозитории и продолжает быть доступной;
  • одновременно задача может принадлежать только одной вехе. Добавление задачи в новую веху автоматически разрывает привязку к предыдущей;
  • если milestone_id указывает на несуществующую веху (в том числе ранее удаленную), запрос завершится ошибкой 404 Not Found;
  • изменение привязки не изменяет номер задачи (number), ее состояние и остальные стандартные поля;
  • события добавления задачи в веху и удаления из вехи отражаются в таймлайне задачи.

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

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