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

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

Описание

Метод GET возвращает подробную информацию о задаче или запросе на слияние по их индексу (index) в репозитории.

Используется для отображения деталей обсуждения, получения метаданных (автор, метки, вехи, комментарии и т.д.) и интеграции с внешними системами управления задачами.

Заголовки

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

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

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

ПараметрТипОбязательныйОписание
ownerstringДаВладелец репозитория (пользователь или организация)
repostringДаНазвание репозитория (без расширения .git)
indexintegerДаИндекс задачи/запроса на слияние в репозитории (целое число)

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

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

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

Ниже приведен пример использования curl для получения информации о запросе на слияние с индексом 42.

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

Замените YOUR_TOKEN на ваш личный токен доступа. Заголовок Accept фиксирует использование первой версии API.

Ответ при успешном получении (200 OK)

Если задача/запрос на слияние найдены, сервер вернет ответ с кодом 200 OK и телом в формате JSON:

{
  "id": 12345,
  "number": 42,
  "title": "Добавить поддержку версионирования API",
  "body": "Необходимо реализовать версионирование согласно SemVer.",
  "state": "open",
  "html_url": "https://gitverse.ru/gitverse-team/core-api/issues/42",
  "created_at": "2025-09-15T10:00:00Z",
  "updated_at": "2025-10-01T14:30:00Z",
  "closed_at": null,
  "user": {
    "login": "developer1",
    "id": 789,
    "avatar_url": "https://gitverse.ru/avatars/789.png",
    "html_url": "https://gitverse.ru/developer1"
  },
  "labels": [
    {
      "id": 101,
      "name": "enhancement",
      "color": "84b6eb"
    }
  ],
  "assignees": [],
  "milestone": null,
  "comments": 3,
  "pull_request": null
}

💡 Примечание: если объект является запросом на слияние, поле pull_request будет содержать метаданные (например, {"merged": false, "draft": false}).

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

Объект ответа содержит следующие поля:

ПолеТипОписание
idintegerВнутренний идентификатор запроса на слияние
numberintegerПубличный индекс запроса на слияние в репозитории
titlestringЗаголовок запроса на слияние
bodystringОписание запроса на слияние
statestringСостояние: open, closed
html_urlstringСсылка на запрос на слияние в веб-интерфейсе
created_atstring (date-time)Дата создания (формат ISO 8601)
updated_atstring (date-time)Дата последнего изменения
closed_atstring (date-time) или nullДата закрытия (если закрыта)
userobjectАвтор запроса на слияние
labelsarrayСписок меток
assigneesarrayСписок назначенных пользователей
milestoneobject или nullВеха
commentsintegerКоличество комментариев
pull_requestobject или nullМетаданные запроса на слияние (содержит поля merged, draft и др.)

Коды ответа

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

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

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

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