Публичный API

Публичный API
Beta

⚠️
Ограниченный доступ

Общая информация

Публичный 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

  1. Обязательный заголовок.
  2. Используется для аутентификации.
  3. Вместо YOUR_TOKEN подставляется токен, полученный в настройках профиля.

⚠️ Токен необходимо хранить в безопасном месте и не передавать его случайным образом. Он предоставляет доступ к вашему аккаунту GitVerse через API.

Accept: application/vnd.gitverse+json;version=1

  1. Обязательный заголовок.
  2. Указывает, что клиент ожидает JSON-ответ в формате, совместимом с GitVerse Public API.
  3. Позволяет серверу правильно определить версию ответа.

📌 Мы используем кастомный 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 позволяет управлять данными аутентифицированного пользователя.

Получение информации о пользователе

  1. GET /user Возвращает информацию о текущем аутентифицированном пользователе.

  2. GET /users/{username} Позволяет получить информацию о любом пользователе по его логину.

Работа с email-адресами

  1. GET /user/emails Возвращает список email-адресов текущего пользователя.

  2. POST /user/emails Добавляет один или несколько новых email-адресов текущему пользователю.

  3. DELETE /user/emails Удаляет указанные email-адреса.

Получение списка репозиториев

  1. GET /user/repos Возвращает все репозитории, доступные пользователю (личные и организации).

  2. POST /user/repos Создаёт новый репозиторий для пользователя.

Репозитории

Этот раздел API позволяет работать с репозиториями GitVerse.

Получение информации о репозитории

  1. GET /repos/{owner}/{repo} Возвращает основные данные о репозитории: название, владельца, настройки, права пользователя и т.д.

Управление содержимым

  1. GET /repos/{owner}/{repo}/contents/{path} Позволяет получить содержимое файла (в Base64) или список файлов внутри папки.

  2. PUT /repos/{owner}/{repo}/contents/{filename} Создаёт новый файл или обновляет существующий в указанной ветке.

  3. DELETE /repos/{owner}/{repo}/contents/{filename} Удаляет указанный файл из репозитория.

  4. GET /repos/{owner}/{repo}/git/trees/{tree_sha}New Возвращает структуру файлов и папок, связанную с указанным деревом Git.

Работа с Pull Request'ами

  1. GET /repos/{owner}/{repo}/branchesNew Возвращает список всех веток репозитория с информацией о последнем коммите и защите веток.

  2. POST /repos/{owner}/{repo}/pulls Создаёт новый запрос на слияние из указанной ветки в целевую.

Дополнительные методы

  1. GET /repos/{owner}/{repo}/issues Возвращает список задач (issues) репозитория. На данный момент содержит только запросы на слияние (Pull Requests).

  2. GET /repos/{owner}/{repo}/languages Возвращает список языков, используемых в репозитории, с указанием количества строк кода на каждом.

  3. POST /repos/{owner}/{repo}/forks Создаёт форк репозитория для текущего пользователя.

  4. PUT /repos/{owner}/{repo}/collaborators/{username}New Добавляет пользователя как соавтора репозитория или обновляет его уровень доступа.

Звезды

Этот раздел API позволяет отмечать репозитории как избранные, а также проверять, добавлен ли репозиторий в список звёзд у текущего пользователя.

Управление избранными репозиториями

  1. PUT /user/starred/{owner}/{repo} Добавляет указанный репозиторий в список отслеживаемых пользователем («ставит звезду»).

  2. GET /user/starred/{owner}/{repo} Позволяет проверить, добавлен ли указанный репозиторий в список отслеживаемых у текущего пользователя.