Публичный APIBeta
Общая информация
Публичный API можно использовать для создания скриптов и приложений, которые автоматизируют процессы, интегрируются с Gitverse, а также расширяют функциональность Gitverse.
Начало работы с публичным API
Интеграция с публичным API — это первый шаг к автоматизации, расширению возможностей и построению собственных решений на основе функционала GitVerse. В этом руководстве вы узнаете, как получить доступ к API, авторизоваться, выполнить первый запрос и начать работать с репозиториями, настройками и другими сущностями. Мы покажем всё максимально просто и пошагово — чтобы вы могли сосредоточиться на разработке, а не на настройке.
Для начала работы вам потребуется настроить токен аутентификации для этого перейдите в раздел Управления токенами (opens in a new tab).
Создайте токен с отмеченным чекбоксом Публичное API и сразу сохраните его, т.к. после того, как вы покинете страницу он перестанет быть доступен.
После этого вы можете взаимодействовать с публичным API, используя токен в качестве параметра HTTP-заголовка Authorization
.
Authorization: Bearer YOUR_TOKEN
HTTP Заголовки
При работе с Public API GitVerse необходимо указывать обязательные HTTP-заголовки, чтобы сервер мог корректно обработать ваш запрос.
Authorization: Bearer YOUR_TOKEN
- Обязательный заголовок.
- Используется для аутентификации.
- Вместо
YOUR_TOKEN
подставляется токен, полученный в настройках профиля.
⚠️ Токен необходимо хранить в безопасном месте и не передавать его случайным образом. Он предоставляет доступ к вашему аккаунту GitVerse через API.
Accept: application/vnd.gitverse+json;version=1
- Обязательный заголовок.
- Указывает, что клиент ожидает JSON-ответ в формате, совместимом с GitVerse Public API.
- Позволяет серверу правильно определить версию ответа.
📌 Мы используем кастомный MIME-тип
application/vnd.gitverse+json
, чтобы явно отделить ответы API от стандартных JSON-запросов. Это помогает избежать несовместимости при изменении формата данных.
HTTP Методы
HTTP-метод эндпоинта определяет тип действия, которое он выполняет над указанным ресурсом. Некоторые из наиболее распространённых HTTP-методов: GET
, POST
, DELETE
, PATCH
и PUT
. В документации к REST API для каждого эндпоинта указан используемый HTTP-метод.
Например, для эндпоинта «Список задач репозитория» используется метод GET
.
В своих API мы стремимся использовать подходящие HTTP-методы для каждого действия — так же, как это делает GitHub REST API.
Поддерживаемые HTTP-методы и их назначение:
Метод | Описание |
---|---|
GET | Используется для получения данных о ресурсах. |
POST | Используется для создания новых ресурсов. |
PATCH | Используется для частичного обновления свойств ресурса. |
PUT | Используется для полного замещения ресурса или коллекции ресурсов. |
DELETE | Используется для удаления ресурсов. |
Список разделов
Настоящий подраздел документации предоставляет обзор всех доступных методов API GitVerse, сгруппированных по функциональности.
Пользователи
Этот раздел API позволяет управлять данными аутентифицированного пользователя.
Получение информации о пользователе
-
GET /user
Возвращает информацию о текущем аутентифицированном пользователе. -
GET /users/{username}
Позволяет получить информацию о любом пользователе по его логину.
Работа с email-адресами
-
GET /user/emails
Возвращает список email-адресов текущего пользователя. -
POST /user/emails
Добавляет один или несколько новых email-адресов текущему пользователю. -
DELETE /user/emails
Удаляет указанные email-адреса.
Получение списка репозиториев
-
GET /user/repos
Возвращает все репозитории, доступные пользователю (личные и организации). -
POST /user/repos
Создаёт новый репозиторий для пользователя.
Репозитории
Этот раздел API позволяет работать с репозиториями GitVerse.
Получение информации о репозитории
GET /repos/{owner}/{repo}
Возвращает основные данные о репозитории: название, владельца, настройки, права пользователя и т.д.
Управление содержимым
-
GET /repos/{owner}/{repo}/contents/{path}
Позволяет получить содержимое файла (в Base64) или список файлов внутри папки. -
PUT /repos/{owner}/{repo}/contents/{filename}
Создаёт новый файл или обновляет существующий в указанной ветке. -
DELETE /repos/{owner}/{repo}/contents/{filename}
Удаляет указанный файл из репозитория. -
GET /repos/{owner}/{repo}/git/trees/{tree_sha}
New Возвращает структуру файлов и папок, связанную с указанным деревом Git.
Работа с Pull Request'ами
-
GET /repos/{owner}/{repo}/branches
New Возвращает список всех веток репозитория с информацией о последнем коммите и защите веток. -
POST /repos/{owner}/{repo}/pulls
Создаёт новый запрос на слияние из указанной ветки в целевую.
Дополнительные методы
-
GET /repos/{owner}/{repo}/issues
Возвращает список задач (issues) репозитория. На данный момент содержит только запросы на слияние (Pull Requests). -
GET /repos/{owner}/{repo}/languages
Возвращает список языков, используемых в репозитории, с указанием количества строк кода на каждом. -
POST /repos/{owner}/{repo}/forks
Создаёт форк репозитория для текущего пользователя. -
PUT /repos/{owner}/{repo}/collaborators/{username}
New Добавляет пользователя как соавтора репозитория или обновляет его уровень доступа.
Звезды
Этот раздел API позволяет отмечать репозитории как избранные, а также проверять, добавлен ли репозиторий в список звёзд у текущего пользователя.
Управление избранными репозиториями
-
PUT /user/starred/{owner}/{repo}
Добавляет указанный репозиторий в список отслеживаемых пользователем («ставит звезду»). -
GET /user/starred/{owner}/{repo}
Позволяет проверить, добавлен ли указанный репозиторий в список отслеживаемых у текущего пользователя.