13. GET /repos/{owner}/{repo}/issues — получить список задач (issues) репозитория
Возвращает отфильтрованный список задач (issues) и пул-реквестов (pull requests) репозитория.
Поддерживается пагинация и фильтрация по состоянию, меткам, вехам, автору и другим параметрам.
⚠️ Важно: На текущий момент метод возвращает только пул-реквесты. Поддержка обычных задач (issues) будет добавлена в будущих версиях API.
Параметры URL
| Параметр | Обязательный | Описание |
|---|---|---|
owner | Да | Владелец репозитория (пользователь или организация) |
repo | Да | Название репозитория (без расширения .git) |
Параметры запроса (query)
| Параметр | Тип | Обязательный | Описание | По умолчанию |
|---|---|---|---|---|
state | string | Нет | Фильтр по состоянию: open, closed, all | open |
q | string | Нет | Ключевое слово для поиска в заголовке и описании | — |
labels | string | Нет | Список меток через запятую (исключить — префикс -) | — |
milestones | string | Нет | Имена или ID вех через запятую | — |
created_by | string | Нет | Логин автора задачи/PR | — |
assigned_by | string | Нет | Логин назначенного пользователя | — |
mentioned_by | string | Нет | Логин упомянутого пользователя | — |
type | string | Нет | Тип: issues, pull_requests | issues |
since | string | Нет | Только элементы, обновленные после даты (RFC3339) | — |
before | string | Нет | Только элементы, обновленные до даты (RFC3339) | — |
page | integer | Нет | Номер страницы | 1 |
per_page | integer | Нет | Элементов на странице (макс. 50) | 30 |
Тело запроса
Данный метод не требует тела запроса.
Пример запроса
curl -X GET "https://api.gitverse.ru/repos/gitverse-team/core-api/issues?state=open&type=pull_requests&labels=bug,enhancement&per_page=20" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=1"Ответ (200 OK)
Пример JSON-ответа:
[
{
"id": 12345,
"number": 42,
"title": "Добавить поддержку версионирования API",
"body": "Реализует версионирование согласно SemVer 2.0.0",
"state": "open",
"html_url": "https://gitverse.ru/gitverse-team/core-api/pull/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"
},
"labels": [
{
"id": 101,
"name": "enhancement",
"color": "84b6eb"
}
],
"assignees": [],
"milestone": null,
"comments": 3,
"pull_request": {
"merged": false,
"draft": false
}
}
]Формат ответа
application/vnd.gitverse.object+json;version=1
Поля каждого элемента
| Поле | Тип | Описание |
|---|---|---|
id | integer | Внутренний ID задачи/PR |
number | integer | Номер в репозитории |
title | string | Заголовок |
body | string | Описание |
state | string | Состояние: open, closed |
html_url | string | Ссылка на веб-интерфейс |
created_at / updated_at / closed_at | string | Даты (RFC3339) |
user | object | Автор |
labels | array | Список меток |
assignees | array | Назначенные пользователи |
milestone | object | null | Веха |
comments | integer | Количество комментариев |
pull_request | object | null | Присутствует только для пул-реквестов |
Коды ответа
| Код | Статус | Описание |
|---|---|---|
| 200 | OK | Список успешно получен |
| 400 | Bad Request | Некорректные параметры запроса |
| 401 | Unauthorized | Токен отсутствует или недействителен |
| 403 | Forbidden | Нет прав на чтение репозитория |
| 404 | Not Found | Репозиторий не найден |
| 422 | Unprocessable Entity | Ошибка валидации фильтров |
| 500 | Internal Server Error | Внутренняя ошибка сервера |