Создать веху репозитория

POST /repos/{owner}/{repo}/milestones

Описание

Метод POST создает новую веху в указанном репозитории. В теле запроса передаются название, описание и срок выполнения. Метод применяется для планирования релизов, группировки задач по версиям и интеграции с внешними системами управления задачами.

Токен

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

Заголовки

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

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

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

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

Тело запроса

ПараметрТипОбязательныйОписание
titlestringДаНазвание вехи
descriptionstringНетОписание вехи
due_onstring (date-time)НетСрок выполнения

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

{
  "title": "Версия 1.0",
  "description": "Выпуск первой стабильной версии",
  "due_on": "2026-12-01T00:00:00Z"
}

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

Ниже приведен пример использования curl для создания вехи со сроком выполнения.

curl -X POST "https://api.gitverse.ru/repos/myorg/backend-api/milestones" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Версия 1.0",
    "description": "Выпуск первой стабильной версии",
    "due_on": "2026-12-01T00:00:00Z"
  }'

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

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

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

{
  "id": 1,
  "title": "Версия 1.0",
  "description": "Выпуск первой стабильной версии",
  "state": "open",
  "open_issues": 0,
  "closed_issues": 0,
  "due_on": "2026-12-01T00:00:00Z",
  "created_at": "2026-10-20T09:00:00Z",
  "updated_at": "2026-10-20T09:00:00Z",
  "closed_at": null
}

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

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

На корневом уровне объект содержит:

ПолеТипОписание
idintegerУникальный идентификатор вехи
title, descriptionstring / nullНазвание и описание вехи
statestringСостояние вехи (open, closed)
open_issues, closed_issuesintegerКоличество открытых и закрытых задач в вехе
due_onstring (date-time) / nullСрок выполнения
created_at, updated_atstring (date-time)Даты создания и последнего обновления
closed_atstring (date-time) / nullДата закрытия вехи (если открыта — null)

Коды ответа

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

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

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

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

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