Редактировать метку в репозитории
PATCH /repos/{owner}/{repo}/labels/{name}
Описание метода
Метод PATCH позволяет редактировать существующую метку в репозитории.
⚠️ Предупреждение: должна учитываться ролевая модель действия редактирования метки. Если запрос приходит от пользователя без прав на редактирование метки в репозитории, возвращается ошибка
404 Not Found.
Токен
Требуется токен с правами на Запись для Репозитория.
Заголовки запроса
| Параметр | Обязательный | Описание |
|---|---|---|
Accept | Нет | Тип представления. Рекомендуется устанавливать значение application/vnd.gitverse.object+json;version=1 |
Authorization | Да | Для аутентификации используется токен доступа. Формат: Bearer <YOUR-TOKEN> или token <YOUR-TOKEN> |
Content-Type | Да | Тип содержимого запроса: application/json |
Параметры пути
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
owner | Да | string | Имя владельца репозитория (пользователя или организации) |
repo | Да | string | Название репозитория |
name | Да | string | Название метки, которую нужно обновить |
Параметры запроса
Данный метод не поддерживает параметры запроса (query parameters).
Тело запроса
Тело запроса должно содержать параметры для обновления метки:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
new_name | Нет | string | Новое название метки |
color | Нет | string | Новый цвет метки в формате hex-кода, без #. Если цвет не указан, то метке будет присвоен случайный цвет из палитры |
description | Нет | string | Новое описание метки. Ограничение: 100 символов |
exclusive | Нет | boolean | Является ли метка исключительной (true/false) |
Пример запроса
curl -X PATCH "https://api.gitverse.ru/repos/user123/repo123/labels/bug" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{
"new_name": "Defect",
"color": "f29513",
"description": "Something isn't working",
"exclusive": false
}'Пример ответа (200 OK)
В ответе возвращается обновленный объект метки:
{
"id": 126862,
"name": "service_task",
"exclusive": false,
"is_archived": false,
"id": 126862,
"name": "service_task",
"exclusive": false,
"is_archived": false,
"color": "f29513",
"description": "",
"url": "https://api.gitverse.ru/labels/126862"
"description": "",
"url": "https://api.gitverse.ru/labels/126862"
}Структура ответа
Ответ — объект Label (обновленная метка). Полная структура описана в графе объектов, раздел «Объект Label».
На корневом уровне объект содержит:
| Поле | Тип | Описание |
|---|---|---|
id, node_id | integer / string | Идентификатор и глобальный ID узла (всегда null) |
name | string | Название |
description | string | Описание |
color | string | Цвет (hex без #) |
default | boolean / null | Создана ли по умолчанию (всегда null) |
exclusive | boolean | Признак исключительности |
url | string | API-ссылка |
Коды ответа
| Код | Статус | Описание |
|---|---|---|
200 | OK | Метка обновлена |
400 | Bad Request | Некорректные параметры запроса. Возможные причины: • Название больше 20 символов • Цвет не входит в палитру • Описание длиннее 100 символов • Имя не уникально в рамках репозитория • Передано свойство исключительности exclusive: true, но название не содержит /• Передано свойство исключительности exclusive: true, но существуют задачи, в которых проставлена метка из запроса и метка из такой же области |
404 | Not Found | Ресурс не найден либо нет доступа к нему (включая случаи отсутствия прав на редактирование) |
422 | Unprocessable Entity | Ошибка валидации |
500 | Internal Server Error | Внутренняя ошибка сервера |
Примечания
- при обновлении названия метки (
new_name) необходимо убедиться, что новое имя уникально в рамках данного репозитория и не превышает 20 символов; - для исключительных меток (
exclusive: true) название обязательно должно содержать символ/, разделяющий область и имя метки.