Обновить информацию о вебхуке

PATCH /repos/{owner}/{repo}/hooks/{hook_id}

Описание

Этот метод позволяет обновить информацию о вебхуке репозитория.

Токен

Требуется токен с правами на Запись для Репозитория.

Заголовки

ПараметрОбязательныйОписание
AuthorizationДаЗаголовок авторизации. Формат: Bearer <token>
AcceptНетТип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=latest
Content-TypeДаТип содержимого тела запроса. Значение: application/json

Параметры пути

ПараметрОбязательныйОписание
ownerДаИмя владельца репозитория
repoДаНазвание репозитория
hook_idДаИдентификатор вебхука

Параметры запроса

Данный метод не требует параметров запроса.

Тело запроса

Тело запроса должно содержать параметры вебхука в формате JSON.

ПолеТипОбязательныйОписание
activebooleanНетАктивен ли вебхук
eventsarray of stringsНетСобытия, на которые будет реагировать вебхук
add_eventsarray of stringsНетСобытия, которые нужно добавить
remove_eventsarray of stringsНетСобытия, которые нужно удалить
configobjectНетКонфигурация вебхука

Поля конфигурации config

ПолеТипОбязательныйОписание
urlstringНетURL, на который будут отправляться вебхуки
content_typestringНетТип контента
http_methodstringНетHTTP метод для отправки
authorization_headerstringНетЗаголовок авторизации, который будет добавляться к запросам
branch_filterstringНетФильтр событий по имени ветки (например, main или release/*)

Пример запроса

curl -X PATCH "https://api.gitverse.ru/repos/myuser/myrepo/hooks/123" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=latest" \
  -H "Content-Type: application/json" \
  -d '{
    "active": false,
    "config": {
      "url": "https://example.com/new-webhook"
    }
  }'

Ответ (200 OK)

Возвращает обновленный вебхук.

{
  "id": 123,
  "active": false,
  "type": "web",
  "events": [
    "push",
    "pull_request"
  ],
  "config": {
    "url": "https://example.com/new-webhook",
    "content_type": "json",
    "http_method": "POST",
    "authorization_header": "",
    "branch_filter": ""
  },
  "created_at": "2023-01-01T00:00:00Z",
  "updated_at": "2023-01-01T00:00:00Z",
  "last_response_status": "200"
}

Поля ответа

ПолеТипОписание
idintegerУникальный идентификатор вебхука
activebooleanАктивен ли вебхук
typestringТип вебхука
eventsarray of stringsСобытия, на которые реагирует вебхук
configobjectКонфигурация вебхука
created_atstringДата создания вебхука
updated_atstringДата последнего обновления вебхука
last_response_statusstringСтатус последнего ответа от вебхука

Поля конфигурации config

ПолеТипОписание
urlstringURL, на который будут отправляться вебхуки
content_typestringТип контента
http_methodstringHTTP метод для отправки
authorization_headerstringЗаголовок авторизации, который будет добавляться к запросам
branch_filterstringФильтр событий по имени ветки (например, main или release/*)

Формат ответа: application/vnd.gitverse.object+json;version=latest

Коды ответов

КодСтатусОписание
200OkЗапрос выполнен успешно, вебхук обновлен
400Bad RequestНекорректные параметры запроса
401UnauthorizedНеобходима авторизация
403ForbiddenДоступ запрещен
404Not FoundВебхук или репозиторий не найдены
429Too Many RequestsПревышен лимит запросов
500Internal Server ErrorВнутренняя ошибка сервера

Пример тела ошибки

При ответе 400 тело ответа имеет следующий вид:

{
  "error": {
    "code": "BAD_REQUEST",
    "documentation_url": "https://gitverse.ru/docs/developers/public-api/",
    "message": "The request format is invalid",
    "status": 400
  }
}

Примечания

  • поля events, add_events и remove_events являются взаимоисключающими, можно использовать только одно из них;
  • поля events должны содержать допустимые типы событий: create, delete, fork, push, pull_request, pull_request_comment, pull_request_review;
  • при обновлении config все поля будут заменены полностью, если не указано иное.