Обновить веху репозитория
PATCH /repos/{owner}/{repo}/milestones/{id}
Описание
Метод PATCH обновляет существующую веху в указанном репозитории по ее идентификатору. В теле запроса можно передать новые значения для названия, описания, состояния и срока выполнения.
С помощью параметра state веху можно закрыть (closed) или открыть повторно (open). Передавать все поля необязательно — обновятся только те, что указаны в теле запроса.
Метод применяется для корректировки плана релизов, завершения вех и синхронизации состояния вех с внешними системами управления задачами.
Токен
Требуется токен с правами на Запись для Репозитория.
Заголовки
| Параметр | Обязательный | Описание |
|---|---|---|
| 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) |
| id | integer | Да | Уникальный идентификатор вехи |
Тело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| title | string | Нет | Новое название вехи |
| description | string | Нет | Новое описание вехи |
| state | string | Нет | Состояние вехи. Допустимые значения: open (открыть), closed (закрыть) |
| due_on | string (date-time) | Нет | Новый срок выполнения |
Можно отправить только те поля, которые нужно изменить.
Пример тела запроса
{
"title": "Версия 3.0",
"description": "Выпуск третий",
"state": "closed",
"due_on": "2026-12-01T00:00:00Z"
}Пример запроса
Ниже приведен пример использования curl для закрытия вехи с идентификатором 1.
curl -X PATCH "https://api.gitverse.ru/repos/myorg/backend-api/milestones/1" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Accept: application/vnd.gitverse.object+json;version=latest" \
-H "Content-Type: application/json" \
-d '{
"state": "closed"
}'Замените YOUR_TOKEN на ваш личный токен доступа.
Ответ при успешном выполнении (200 OK)
При успешном обновлении вехи сервер вернет ответ с кодом 200 OK и телом в формате JSON, содержащим обновленный объект вехи:
{
"id": 1,
"title": "Версия 3.0",
"description": "Выпуск третий",
"state": "closed",
"open_issues": 0,
"closed_issues": 8,
"due_on": "2026-12-01T00:00:00Z",
"created_at": "2026-10-01T09:00:00Z",
"updated_at": "2026-11-20T09:15:00Z",
"closed_at": "2026-11-20T09:15:00Z"
}Структура ответа
Ответ — объект 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) |
| 401 | Unauthorized | Не передан или невалиден токен авторизации |
| 403 | Forbidden | Нет прав на запись в репозиторий |
| 404 | Not Found | Репозиторий или веха не найдены |
| 500 | Internal Server Error | Внутренняя ошибка сервера GitVerse |
Особенности метода
- обновляются только поля, переданные в теле запроса. Остальные поля сохраняют прежние значения;
- при закрытии вехи (
state: "closed") полюclosed_atприсваивается текущее время; при повторном открытии (state: "open") полеclosed_atсбрасывается вnull; - закрытие вехи не удаляет ее и не отвязывает задачи: привязанные задачи сохраняют связь с вехой, веха остается доступной для чтения.
Формат ответа и заголовки
Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=latest.