Получить список вех репозитория
GET /repos/{owner}/{repo}/milestones
Описание
Метод GET возвращает список вех в указанном репозитории. Поддерживается пагинация, фильтрация по состоянию, поиск по названию/описанию и сортировка.
Метод применяется для получения списка вех, интеграции с внешними системами управления задачами (task trackers) и автоматизации рабочих процессов.
Токен
Требуется токен с правами на Чтение для Репозитория.
Заголовки
| Параметр | Обязательный | Описание |
|---|---|---|
| Accept | Нет | Тип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest |
| Authorization | Да | Токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN> |
Параметры пути
В URL запроса необходимо передать следующие идентификаторы ресурса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| owner | string | Да | Владелец репозитория (логин пользователя или имя организации) |
| repo | string | Да | Название репозитория (без расширения .git) |
Параметры строки запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| q | string | Нет | Текстовый запрос: поиск по названию и описанию вехи |
| state | string | Нет | Состояние вехи. Допустимые значения: open (открытые, по умолчанию), closed (закрытые) |
| page | integer | Нет | Номер страницы для пагинации результатов (с 1) |
| limit | integer | Нет | Количество вех на странице (по умолчанию — 10) |
| sort | string | Нет | Порядок сортировки. Допустимые значения: closestduedate (ближайший контрольный срок, по умолчанию), furthestduedate (дальнейший контрольный срок), leastcomplete (наименьший процент выполнения), mostcomplete (наибольший процент выполнения), mostissues (больше задач), leastissues (меньше задач), newest (от новых к старым), oldest (от старых к новым), recentupdate (недавно обновленные), leastupdate (давно обновленные) |
Пример запроса
Ниже приведен пример использования curl для получения списка открытых вех, отсортированных по ближайшему контрольному сроку.
curl -X GET "https://api.gitverse.ru/repos/myorg/backend-api/milestones?state=open&sort=closestduedate&page=1&limit=10" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Accept: application/vnd.gitverse.object+json;version=latest"Замените YOUR_TOKEN на ваш личный токен доступа.
Ответ при успешном выполнении (200 OK)
Если вехи найдены, сервер вернет ответ с кодом 200 OK и телом в формате JSON, содержащим массив объектов вех:
[
{
"id": 1,
"title": "Версия 1.0",
"description": "Выпуск первой стабильной версии",
"state": "open",
"open_issues": 5,
"closed_issues": 3,
"due_on": "2026-12-01T00:00:00Z",
"created_at": "2026-10-01T09:00:00Z",
"updated_at": "2026-10-20T14:30:00Z",
"closed_at": null
},
{
"id": 2,
"title": "Версия 2.0",
"description": "Крупное обновление",
"state": "closed",
"open_issues": 0,
"closed_issues": 12,
"due_on": "2026-11-15T00:00:00Z",
"created_at": "2026-07-01T09:00:00Z",
"updated_at": "2026-11-15T16:00:00Z",
"closed_at": "2026-11-15T16:00:00Z"
}
]Пагинация
Список вех разбит на страницы: номер страницы задается параметром page, количество вех на странице — параметром limit. Если подходящих вех нет, сервер вернет ответ с кодом 200 OK и пустым массивом [].
Структура ответа
Ответ — массив объектов 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-статусу:
| Код | Статус | Описание |
|---|---|---|
| 200 | OK | Список вех успешно получен |
| 400 | Bad Request | Некорректные параметры запроса (например, неверный формат пагинации или недопустимое значение state/sort) |
| 401 | Unauthorized | Не передан или невалиден токен авторизации |
| 403 | Forbidden | Нет прав на чтение репозитория |
| 404 | Not Found | Репозиторий не найден |
| 500 | Internal Server Error | Внутренняя ошибка сервера GitVerse |
Формат ответа и заголовки
Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=latest.