Инструменты разработчика: API-токены, REST API, CLI и «Объяснить ошибку».

Создавайте API-токены с нужной областью действия, работайте с приложениями из скриптов и CI через REST API, готовящаяся командная строка rivervo и объяснения неудачных развёртываний с помощью ИИ.

3 МИН ЧТЕНИЯ

Всё, что вы делаете с приложениями в панели, можно делать и из скриптов: развёртывания из CI, переменные из скрипта, журнал в терминале.

API-токены

Настройки аккаунта → API-токены → Создать токен. Задайте имя (где он используется, например «GitHub Actions») и выберите, что ему разрешено:

Область действияРазрешает
Только чтениеприложения, развёртывания и их журналы, журнал работы, домены
Чтение и развёртываниечтение, а также развёртывание, откат и перезапуск
Полный доступразвёртывание, а также переменные (чтение и изменение) и домены (добавление, удаление)

Можно также задать срок действия — 30, 90 или 365 дней либо бессрочно.

  • Токен показывается один раз — скопируйте его сразу.
  • Токен действует с вашими правами. В чужом аккаунте он действует с вашей ролью в приложении, а поверх неё применяется область действия токена. См. Доступ к приложению.
  • У вас может быть до 20 токенов. Отозвать сразу отключает токен.
  • Создать токен можете только вы сами: тот, кто вошёл в ваш аккаунт от вашего имени, этого сделать не может.

REST API

API описан в формате OpenAPI 3.1: api.rivervo.com/api/v1/openapi.json. Импортируйте его в Postman, Insomnia или генератор кода.

Базовый адрес: https://api.rivervo.com/api/v1. Передавайте токен как bearer-токен:

curl -H "Authorization: Bearer $RIVERVO_TOKEN" https://api.rivervo.com/api/v1/apps

Что можно делать:

Метод и путьЧто делаетОбласть действия
GET /appsваши приложения и их сервисычтение
GET /apps/{id}одно приложениечтение
GET /apps/{id}/deploymentsего развёртываниячтение
POST /apps/{id}/deploymentsразвёртывание: собрать последний коммит или, с {"rebuild": false}, развернуть текущую версию зановоразвёртывание
GET /apps/{id}/deployments/{deployment}развёртывание с журналом сборкичтение
POST /apps/{id}/deployments/{deployment}/rollbackвернуться к этой версииразвёртывание
POST /apps/{id}/restartперезапускразвёртывание
GET /apps/{id}/logsжурнал работы сайта, фонового процесса или расписаниячтение
GET, PUT, PATCH /apps/{id}/envпрочитать, заменить или обновить переменныеполный
GET /apps/{id}/domainsдоменычтение
POST /apps/{id}/domains, DELETE /apps/{id}/domains/{name}добавить или удалить доменполный
  • Чужой аккаунт: добавьте заголовок X-Account: <the account's customer ID>, чтобы работать с приложениями аккаунта, к которым вам открыли доступ (в заголовке укажите идентификатор клиента этого аккаунта).
  • Ограничения: 120 запросов в минуту на человека, из них 30 изменений. При превышении API отвечает 429 с Retry-After.
  • Язык: по умолчанию сообщения приходят на английском; отправьте Accept-Language: az или ru, чтобы получать их на азербайджанском или русском.
  • Переменные, изменённые через API, доходят до приложения со следующим развёртыванием, как и в панели, — достаточно {"rebuild": false}.

Командная строка rivervo — скоро

Готовится инструмент командной строки для развёртываний, журнала, переменных и откатов. Он будет использовать те же API-токены:

rivervo login                       # вставьте токен
rivervo deploy shop                 # собрать последний коммит и следить за развёртыванием
rivervo logs shop -f                # следить за выводом приложения
rivervo env set shop API_URL=https://example.com
rivervo rollback shop               # вернуться к предыдущей версии

В CI инструмент берёт токен из переменной RIVERVO_TOKEN, а deploy завершается с ошибкой, если новая версия не вышла в работу, поэтому на нём можно строить проверку в конвейере. Пока инструмент не опубликован, то же самое можно сделать через REST API.

«Объяснить ошибку»

Когда развёртывание не завершилось или сервис перестал работать, рядом с журналом появляется Объяснить ошибку. Функция читает последние строки журнала и сообщает на вашем языке:

  • Вероятная причина — что пошло не так;
  • Как исправить — конкретные шаги для вашего стека.

Объяснение составляет ИИ на основе журнала; проверьте его, прежде чем что-либо менять. Перед отправкой из журнала скрываются все значения ваших переменных и всё, что похоже на ключ, пароль или токен. Ваш код и сами переменные никогда не отправляются.

Каждый человек может запросить до 10 новых объяснений в день; объяснение, уже составленное для того же журнала, показывается повторно бесплатно.

Всё ещё не можете разобраться?

Напишите живому инженеру — медианный ответ менее 3 минут в любое время суток.

Написать в поддержку