Установить реакцию на задачу или запрос на слияние
POST /repos/{owner}/{repo}/issues/{index}/reactions/react
Описание метода
Метод POST позволяет установить реакцию — эмодзи-отклик на задачу в репозитории от имени текущего пользователя.
Реакции дают возможность быстро выразить отношение к задаче (согласие, несогласие, одобрение и т.д.) без создания отдельного комментария.
Метод используется для:
- постановки реакции на задачу или запроса на слияние;
- участия в голосованиях и опросах внутри задач или в запросе на слияние;
- выражения отношения к задаче от имени текущего пользователя.
После успешного выполнения запроса в ответе возвращается обновленный массив всех реакций на задаче, включая только что добавленную.
Если текущий пользователь уже ставил указанную реакцию на задачу, метод вернет ошибку 403 Forbidden.
Заголовки запроса
| Параметр | Обязательный | Описание |
|---|---|---|
Accept | Нет | Тип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=1 |
Content-Type | Да | Тип содержимого запроса. Должен быть application/json |
Authorization | Да | Токен авторизации в формате Bearer YOUR_TOKEN |
Параметры пути
| Параметр | Обязательный | Описание |
|---|---|---|
owner | Да | Владелец репозитория (логин пользователя или название организации) |
repo | Да | Название репозитория |
index | Да | Номер задачи в репозитории. Это внутренний номер задачи, который отображается в интерфейсе (например, #123) |
Параметры запроса
Данный метод не поддерживает параметры запроса.
Тело запроса
Тело запроса должно содержать объект с указанием типа реакции, которую нужно установить:
{
"content": "string"
}Описание полей:
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
content | string | Да | Тип реакции (эмодзи), которую нужно установить. Возможные значения: +1 (👍), -1 (👎), laugh (😄), hooray (🎉), rocket (🚀), eyes (👀) |
Пример запроса
Запрос на установку реакции +1 (👍) на задачу номер 42 в репозитории my-project пользователя john-doe:
curl -X POST "https://api.gitverse.ru/repos/john-doe/my-project/issues/42/reactions/react" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1" \
-H "Content-Type: application/json" \
-d '{
"content": "+1"
}'Пояснение к примеру:
YOUR_TOKEN— замените на ваш реальный токен API с правами доступа к репозиторию;john-doe— логин владельца репозитория;my-project— название репозитория;42— номер задачи;content: "+1"— тип реакции, которую нужно установить.
Пример ответа (200 OK)
В ответе возвращается обновленный массив всех реакций на задаче, включая только что добавленную реакцию текущего пользователя:
[
{
"content": "+1",
"userId": 71777,
"userName": "ssofietta",
"userFullName": "Софи",
"createdAt": "2026-04-06T14:20:28Z",
"userAvatar": "https://gitverse.ru/sc/avatars/366881ac41dfd51a15e0f64d0572939ff242730f48c7969abc954d55192d5112"
},
{
"content": "hooray",
"userId": 456,
"userName": "alice",
"userFullName": "Алиса Иванова",
"createdAt": "2026-04-06T14:15:00Z",
"userAvatar": "https://gitverse.ru/sc/avatars/alice-avatar.png"
}
]Описание полей ответа:
Ответ представляет собой массив объектов реакций. Каждый объект описывает одну реакцию, поставленную конкретным пользователем:
| Поле | Тип | Описание |
|---|---|---|
content | string | Тип реакции (эмодзи). Возможные значения: +1 (👍), -1 (👎), laugh (😄), hooray (🎉), rocket (🚀), eyes (👀) |
userId | integer | Уникальный идентификатор пользователя, поставившего реакцию |
userName | string | Логин пользователя |
userFullName | string | Полное имя пользователя |
createdAt | string (ISO 8601) | Дата и время создания реакции в формате UTC |
userAvatar | string | URL аватара пользователя |
Формат ответа: application/vnd.gitverse.object+json;version=1
Коды ответа
| Код | Статус | Описание |
|---|---|---|
200 | OK | Реакция успешно установлена, возвращен обновленный массив всех реакций |
400 | Bad Request | Некорректные параметры запроса (например, невалидное значение content) |
401 | Unauthorized | Необходима авторизация. Токен отсутствует или невалиден |
403 | Forbidden | Доступ запрещен. Токен не имеет прав для доступа к репозиторию, либо текущий пользователь уже ставил указанную реакцию на эту задачу |
404 | Not Found | Указанная задача, репозиторий или владелец не найдены |
406 | Not Acceptable | Тип контента в заголовке Accept не поддерживается |
429 | Too Many Requests | Превышен лимит запросов к API |
500 | Internal Server Error | Внутренняя ошибка сервера |