Репозитории
Этот раздел API позволяет работать с репозиториями GitVerse.
Получение информации о репозитории
1. GET /repos/{owner}/{repo}
Возвращает основные данные о репозитории: название, владельца, настройки, права пользователя и т.д.
Управление содержимым
2. GET /repos/{owner}/{repo}/contents/{path}
Позволяет получить содержимое файла (в Base64) или список файлов внутри папки.
3. PUT /repos/{owner}/{repo}/contents/{filename}
Создаёт новый файл или обновляет существующий в указанной ветке.
4. DELETE /repos/{owner}/{repo}/contents/{filename}
Удаляет указанный файл из репозитория.
5. GET /repos/{owner}/{repo}/git/trees/{tree_sha}
Возвращает структуру файлов и папок, связанную с указанным деревом Git.
Работа с коммитами
6. GET /repos/{username}/{reponame}/commits
Возвращает список коммитов репозитория с возможностью фильтрации по ветке, пути, автору, дате и другим параметрам.
7. GET /repos/{username}/{reponame}/commits/{sha}
Возвращает полную информацию о конкретном коммите, включая автора, сообщение, статистику изменений и список затронутых файлов.
8. GET /repos/{username}/{reponame}/compare/{basehead}
Сравнивает две ветки, тега или коммита и возвращает разницу между ними (аналог git diff
). Полезно для анализа изменений перед созданием Pull Request.
9. POST /repos/{username}/{reponame}/git/refs
Создаёт новую Git-ссылку (ветку, тег или кастомную ссылку) в репозитории.
Работа с Pull Request'ами
10. GET /repos/{owner}/{repo}/branches
Возвращает список всех веток репозитория с информацией о последнем коммите и защите веток.
11. POST /repos/{owner}/{repo}/pulls
Создаёт новый запрос на слияние из указанной ветки в целевую.
Дополнительные методы
12. GET /repos/{owner}/{repo}/issues
Возвращает список задач (issues) репозитория. На данный момент содержит только запросы на слияние (Pull Requests).
13. GET /repos/{owner}/{repo}/languages
Возвращает список языков, используемых в репозитории, с указанием количества строк кода на каждом.
14. POST /repos/{owner}/{repo}/forks
Создаёт форк репозитория для текущего пользователя.
15. PUT /repos/{owner}/{repo}/collaborators/{username}
Добавляет пользователя как соавтора репозитория или обновляет его уровень доступа.
Возможные ошибки
Код | Описание |
---|---|
400 Bad Request | Некорректный формат данных |
401 Unauthorized | Необходима авторизация |
403 Forbidden | Недостаточно прав |
404 Not Found | Репозиторий не найден |
409 Conflict | Конфликт SHA (при удалении файла без указания sha ) |
500 Internal Server Error | Внутренняя ошибка сервера |