1. GET /repos/{owner}/{repo} — получить информацию о репозитории
Описание
Возвращает подробную информацию о репозитории: название, владельца, описание, настройки приватности, права текущего пользователя и другую метаинформацию.
⚠️ Доступ к приватным репозиториям возможен только при наличии соответствующих прав у аутентифицированного пользователя.
Параметры URL
| Параметр | Обязательный | Описание |
|---|---|---|
owner | Да | Владелец репозитория (пользователь или организация) |
repo | Да | Название репозитория (без расширения .git) |
Тело запроса
Не требуется.
Пример запроса
curl -X GET "https://api.gitverse.ru/repos/awesome-org/project-x" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.gitverse.object+json;version=latest"Ответ (200 OK)
Пример JSON-ответа:
{
"id": 54321,
"name": "project-x",
"full_name": "awesome-org/project-x",
"private": false,
"owner": {
"login": "awesome-org",
"id": 11223,
"avatar_url": "https://gitverse.ru/avatars/awesome-org.png"
},
"html_url": "https://gitverse.ru/awesome-org/project-x",
"description": "Пример проекта для демонстрации API",
"fork": false,
"created_at": "2024-01-15T08:30:00Z",
"updated_at": "2025-03-22T14:12:00Z",
"pushed_at": "2025-04-01T09:45:00Z",
"homepage": "https://project-x.example.com",
"size": 2048,
"stargazers_count": 42,
"watchers_count": 10,
"language": "TypeScript",
"has_issues": true,
"has_wiki": false,
"has_pages": true,
"has_downloads": true,
"default_branch": "main",
"permissions": {
"admin": false,
"push": true,
"pull": true
},
"clone_url": "https://gitverse.ru/awesome-org/project-x.git",
"ssh_url": "git@gitverse.ru:awesome-org/project-x.git",
"forks_count": 5,
"open_issues_count": 3,
"visibility": "public",
"archived": false,
"disabled": false,
"allow_merge_commit": true,
"allow_rebase_merge": true,
"allow_squash_merge": true,
"delete_branch_on_merge": false,
"is_template": false,
"topics": ["api", "example", "gitverse"]
}Формат ответа
application/vnd.gitverse.object+json;version=1
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | integer | Уникальный числовой идентификатор репозитория |
name | string | Название репозитория |
full_name | string | Полное имя репозитория (owner/repo) |
private | boolean | Признак приватности: true — приватный, false — публичный |
owner | object | Информация о владельце: login (строка), id (целое число), avatar_url (строка) |
html_url | string | Ссылка на страницу репозитория в веб-интерфейсе |
description | string или null | Описание репозитория |
fork | boolean | Является ли репозиторий форком |
created_at | string | Дата и время создания (ISO 8601) |
updated_at | string | Дата последнего обновления метаданных |
pushed_at | string | Дата последнего пуша |
homepage | string или null | URL домашней страницы проекта |
size | integer | Размер репозитория в килобайтах |
stargazers_count | integer | Количество пользователей, поставивших «звезду» |
watchers_count | integer | Количество наблюдателей |
language | string или null | Основной язык программирования |
has_issues | boolean | Включены ли задачи (issues) |
has_wiki | boolean | Включена ли вики |
has_pages | boolean | Развернуты ли GitVerse Pages |
has_downloads | boolean | Включены ли загрузки файлов |
default_branch | string | Имя основной ветки |
permissions | object | Права текущего пользователя: admin, push, pull (все — boolean) |
clone_url | string | Ссылка для клонирования по HTTPS |
ssh_url | string | Ссылка для клонирования по SSH |
forks_count | integer | Количество форков |
open_issues_count | integer | Количество открытых задач и PR |
visibility | string | Видимость: public, private или internal |
archived | boolean | Архивирован ли репозиторий |
disabled | boolean | Отключен ли репозиторий |
allow_merge_commit | boolean | Разрешено ли создание merge-коммитов |
allow_rebase_merge | boolean | Разрешено ли rebase-слияние |
allow_squash_merge | boolean | Разрешено ли squash-слияние |
delete_branch_on_merge | boolean | Удалять ли ветку после слияния |
is_template | boolean | Является ли репозиторий шаблоном |
topics | array[string] | Список тем (тегов) репозитория |
💡 Поле
parent(если репозиторий является форком) содержит полный объект репозитория с теми же полями. Аналогично —template_repository, если репозиторий создан из шаблона.
Коды ответа
| Код | Статус | Описание |
|---|---|---|
| 200 | OK | Информация о репозитории успешно получена |
| 400 | Bad Request | Некорректные параметры запроса |
| 401 | Unauthorized | Не передан или невалиден токен авторизации |
| 403 | Forbidden | Нет доступа к приватному репозиторию |
| 404 | Not Found | Репозиторий {owner}/{repo} не существует |
| 422 | Unprocessable Entity | Ошибка обработки запроса |
| 500 | Internal Server Error | Внутренняя ошибка сервера |