Добавление реакции на комментарий в задаче или запросе

POST /repos/{owner}/{repo}/{issue_number}/comments/{comment_id}/reactions

Описание

Метод POST добавляет реакцию к указанному комментарию в задаче или запросе на слияние в репозитории. Ответ на запрос содержит объект созданной реакции в формате JSON.

Этот метод полезен для автоматизации процессов взаимодействия с комментариями, например, для программного добавления реакций от имени бота или интеграции с внешними системами.

Токен

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

Заголовки

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

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

В URL запроса необходимо передать следующие идентификаторы ресурса:

ПараметрТипОбязательныйОписание
ownerstringДаВладелец репозитория (пользователь или организация)
repostringДаНазвание репозитория
issue_numberintegerДаНомер задачи или запроса на слияние
comment_idintegerДаУникальный идентификатор комментария

Query-параметры и тело запроса

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

Запрос должен содержать тело в формате JSON со следующим полем:

ПолеТипОбязательныйОписание
contentstringДаТип реакции. Допустимые значения: +1 (👍), -1 (👎), laugh (😄), heart (😍), hooray (🎉), rocket (✅), eyes (👀).

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

Ниже приведен пример использования curl для добавления реакции rocket к комментарию.

curl -X POST "https://api.gitverse.ru/repos/my-org/my-repo/issues/42/comments/789/reactions" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{
    "content": "rocket"
}'

Замените YOUR_TOKEN на ваш личный токен доступа. Заголовок Content-Type обязателен, так как передается JSON-тело.

Ответ при успешном добавлении (201 Created)

Если реакция была успешно добавлена, сервер вернет ответ с кодом 201 Created и телом в формате JSON:

{
  "id": 361,
  "content": "rocket",
  "user": {
    "login": "ID_0200_Admin",
    "id": 9544,
    "avatar_url": "https://gitverse.ru/avatars/3fc0e3bd4f776ae596008469332e634d",
    "url": "https://gitverse.ru/api/users/ID_0200_Admin",
    "html_url": "https://gitverse.ru/ID_0200_Admin",
    "followers_url": "https://gitverse.ru/api/users/ID_0200_Admin/followers",
    "following_url": "https://gitverse.ru/api/users/ID_0200_Admin/following{/other_user}",
    "organizations_url": "https://gitverse.ru/api/users/ID_0200_Admin/orgs",
    "repos_url": "https://gitverse.ru/api/users/ID_0200_Admin/repos",
    "type": "User",
    "site_admin": false
  },
  "created_at": "2026-04-27T11:55:32Z"
}

Структура ответа

Ответ — объект Reaction (реакция). Полная структура описана в графе объектов, раздел «Объект Reaction».

На корневом уровне объект содержит:

ПолеТипОписание
idintegerИдентификатор реакции
contentstringТип реакции
userobjectПользователь, поставивший реакцию (см. User)
created_atstring (date-time)Дата создания

Коды HTTP-ответов

Результат выполнения запроса определяется по HTTP-статусу:

КодСтатусОписание
201CreatedРеакция успешно добавлена. Тело ответа содержит объект реакции.
400Bad RequestОдин из параметров передан некорректно или поле content содержит недопустимое значение.
401UnauthorizedНе передан или невалиден токен авторизации.
403ForbiddenНет прав на добавление реакций в данном репозитории.
404Not FoundРепозиторий, запрос на слияние или комментарий не найдены.
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
  }
}

Формат ответа и заголовки

Метод возвращает ответ в формате JSON. Заголовок Content-Type в ответе устанавливается в application/vnd.gitverse.object+json;version=1.