Получить реакции по задаче/запросу на слияние

GET /repos/{owner}/{repo}/issues/{index}

Описание метода

Метод GET возвращает полную информацию о задаче/запросе на слияние в репозитории, включая массив реакций, оставленных пользователями.

Реакции — это эмодзи-отклики на задачу (например, 👍, 👎, ✅, 👀, 😄, 😍, 🎉), которые позволяют пользователям быстро выразить свое отношение к задаче без создания отдельного комментария.

Метод используется для:

  • получения списка всех реакций на задачу или запрос на слияние;
  • определения, какие пользователи оставили реакции;
  • анализа популярности задачи среди участников проекта;
  • отображения счетчиков реакций в интерфейсе.

Поле reactions является частью полного объекта задачи/запроса на слияние и возвращается вместе с другими полями (название, описание, статус, исполнитель и т.д.).

Заголовки запроса

ПараметрОбязательныйОписание
AcceptНетТип содержимого ответа. Рекомендуется установить значение application/vnd.gitverse.object+json;version=1
AuthorizationДаТокен авторизации в формате Bearer YOUR_TOKEN

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

ПараметрОбязательныйОписание
ownerДаВладелец репозитория (логин пользователя или название организации)
repoДаНазвание репозитория
indexДаНомер задачи/запроса на слияние в репозитории. Это внутренний номер задачи, который отображается в интерфейсе (например, #123)

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

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

Тело запроса

Метод GET не требует тела запроса.

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

Запрос информации о задаче с номером 42 в репозитории my-project пользователя john-doe:

curl -X GET "https://api.gitverse.ru/repos/john-doe/my-project/issues/42" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/vnd.gitverse.object+json;version=1"

Пояснение к примеру:

  • YOUR_TOKEN — замените на ваш реальный токен API с правами доступа к репозиторию;
  • john-doe — логин владельца репозитория;
  • my-project — название репозитория;
  • 42 — номер задачи.

Пример ответа (200 OK)

Ответ содержит полный объект задачи/запроса на слияние, включая массив реакций:

{
  "id": 12345,
  "index": 42,
  "title": "Исправить баг с отображением кнопок",
  "body": "При открытии страницы кнопки не выравнены правильно",
  "state": "open",
  "created_at": "2026-04-01T10:00:00.000Z",
  "updated_at": "2026-04-02T15:14:03.013Z",
  "reactions": [
    {
      "content": "+1",
      "created_at": "2026-04-02T15:14:03.013Z",
      "user": {
        "avatar_url": "https://gitverse.ru/avatars/user123.png",
        "created": "2025-01-15T08:30:00.000Z",
        "email": "alice@example.com",
        "full_name": "Алиса Иванова",
        "id": 123,
        "login": "alice",
        "location": "Москва"
      }
    },
    {
      "content": "heart",
      "created_at": "2026-04-02T16:20:45.123Z",
      "user": {
        "avatar_url": "https://gitverse.ru/avatars/user456.png",
        "created": "2025-03-20T12:00:00.000Z",
        "email": "bob@example.com",
        "full_name": "Борис Петров",
        "id": 456,
        "login": "bob",
        "location": "Санкт-Петербург"
      }
    }
  ]
}

Описание поля reactions:

Поле reactions представляет собой массив объектов, каждый из которых описывает одну реакцию:

ПолеТипОписание
contentstringТип реакции (эмодзи). Возможные значения: +1 (👍), -1 (👎), rocket (✅), eyes (👀), laugh (😄), heart (😍), hooray (🎉)
created_atstring (ISO 8601)Дата и время создания реакции в формате UTC
userobjectОбъект с информацией о пользователе, оставившем реакцию

Описание объекта user:

ПолеТипОписание
idintegerУникальный идентификатор пользователя
loginstringЛогин пользователя
full_namestringПолное имя пользователя
emailstringEmail пользователя
avatar_urlstringURL аватара пользователя
createdstring (ISO 8601)Дата регистрации пользователя
locationstringМестоположение пользователя (опционально)

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

Коды ответа

КодСтатусОписание
200OKЗапрос выполнен успешно, информация о задаче/запросе на слияние и реакциях получена
400Bad RequestНекорректные параметры запроса (например, невалидный index)
401UnauthorizedНеобходима авторизация. Токен отсутствует или невалиден
403ForbiddenДоступ запрещен. Токен не имеет прав для доступа к репозиторию
404Not FoundУказанная задача, запрос на сляиние, репозиторий или владелец не найдены
406Not AcceptableТип контента в заголовке Accept не поддерживается
429Too Many RequestsПревышен лимит запросов к API
500Internal Server ErrorВнутренняя ошибка сервера