Создать веху репозитория
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 запроса необходимо передать следующие идентификаторы ресурса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| owner | string | Да | Владелец репозитория (логин пользователя или имя организации) |
| repo | string | Да | Название репозитория (без расширения .git) |
Тело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| title | string | Да | Название вехи |
| description | string | Нет | Описание вехи |
| due_on | string (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».
На корневом уровне объект содержит:
| Поле | Тип | Описание |
|---|---|---|
id | integer | Уникальный идентификатор вехи |
title, description | string / null | Название и описание вехи |
state | string | Состояние вехи (open, closed) |
open_issues, closed_issues | integer | Количество открытых и закрытых задач в вехе |
due_on | string (date-time) / null | Срок выполнения |
created_at, updated_at | string (date-time) | Даты создания и последнего обновления |
closed_at | string (date-time) / null | Дата закрытия вехи (если открыта — null) |
Коды ответа
Результат выполнения запроса определяется по HTTP-статусу:
| Код | Статус | Описание |
|---|---|---|
| 201 | Created | Веха успешно создана |
| 400 | Bad Request | Некорректное тело запроса (некорректный JSON или отсутствует обязательное поле title) |
| 401 | Unauthorized | Не передан или невалиден токен авторизации |
| 403 | Forbidden | Нет прав на запись в репозиторий |
| 404 | Not Found | Репозиторий не найден |
| 500 | Internal Server Error | Внутренняя ошибка сервера GitVerse |
Особенности метода
- новая веха создается в состоянии
open; - если
due_onне передан, веха создается без срока выполнения; - добавлять задачи в созданную веху можно методами создания задачи и привязки существующей задачи.
Формат ответа и заголовки
Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=latest.