Редактировать метку в репозитории

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_idinteger / stringИдентификатор и глобальный ID узла (всегда null)
namestringНазвание
descriptionstringОписание
colorstringЦвет (hex без #)
defaultboolean / nullСоздана ли по умолчанию (всегда null)
exclusivebooleanПризнак исключительности
urlstringAPI-ссылка

Коды ответа

КодСтатусОписание
200OKМетка обновлена
400Bad RequestНекорректные параметры запроса. Возможные причины:
• Название больше 20 символов
• Цвет не входит в палитру
• Описание длиннее 100 символов
• Имя не уникально в рамках репозитория
• Передано свойство исключительности exclusive: true, но название не содержит /
• Передано свойство исключительности exclusive: true, но существуют задачи, в которых проставлена метка из запроса и метка из такой же области
404Not FoundРесурс не найден либо нет доступа к нему (включая случаи отсутствия прав на редактирование)
422Unprocessable EntityОшибка валидации
500Internal Server ErrorВнутренняя ошибка сервера

Примечания

  • при обновлении названия метки (new_name) необходимо убедиться, что новое имя уникально в рамках данного репозитория и не превышает 20 символов;
  • для исключительных меток (exclusive: true) название обязательно должно содержать символ /, разделяющий область и имя метки.