CLI
outry <КОМАНДА>outry run
Заголовок раздела «outry run»Отправить запросы и выполнить их директивы.
outry run <ПУТИ|ИМЕНА>...Папки раскрываются во все *.outry и *.http внутри них по алфавиту; файл .outry выполняет все свои
запросы и сценарии сверху вниз. Явно указанные файлы выполняются в заданном порядке. Запрос или сценарий
можно указать по имени (CreateOrder, users.Create) или по строке (api/orders.outry:12). Значения из
save передаются следующим запросам; запросы, вызванные из .outry, делят один
кеш прогона и cookies.
| Флаг | Описание |
|---|---|
-e, --env <ENV> |
Окружение из env.toml (по умолчанию — default из конфига) |
--project <DIR> |
Папка проекта (по умолчанию env.toml ищется вверх от первого пути) |
--var <NAME=VALUE> |
Переопределить переменную; можно несколько раз |
--fail-fast |
Остановиться на первом упавшем запросе |
-v, --verbose |
Печатать заголовки и тело ответа |
--json |
Печатать по JSON-объекту на запрос (JSON Lines) |
--timeout <SECONDS> |
Таймаут запроса, по умолчанию 30 |
--fresh |
Не читать и не сохранять значения save и ответы cache: между запусками |
--no-keyring |
Не искать секреты в системном хранилище паролей |
--yes |
Отправлять запросы с confirm: true без вопроса |
Код выхода: 0 — всё прошло, 1 — хотя бы один запрос упал, 2 — Outry не смог запуститься.
outry check
Заголовок раздела «outry check»Проверить проект без отправки запросов. Код выхода 1, если есть ошибка.
outry check [ПУТИ]... [--env <ENV>] [--var <NAME=VALUE>]... [--no-keyring] [--no-fmt] [--go <DIR> | --no-go] [--format text|github]Без путей (или с путём к самому проекту, outry check api) проверяется всё:
- синтаксис, а в
.outryещё имена вызываемых запросов, их аргументы, формы, файлыschema()и циклы вызовов; - каждое окружение: вызовы запросов, которым
onlyего запрещает, неизвестные окружения вonlyи переменные, которых в окружении нет нигде (имена изsaveгде-либо в проекте считаются заданными). Хранилище паролей не читается — секрет считается заданным, если он перечислен вsecrets. Одна и та же ошибка в нескольких окружениях печатается один раз; - формат, как
outry fmt --check(--no-fmtвыключает); - Go-код, как
outry import go --check, еслиgo.modнашёлся в каталоге проекта или выше, до корня репозитория.--go <DIR>указывает сервис,--no-goпропускает.
С путями проверяются только эти файлы, без Go. --env проверяет одно окружение с настоящими переменными —
--var, OUTRY_*, env.toml и хранилище паролей (--no-keyring выключает). --format github печатает
аннотации GitHub Actions.
api/orders/create.outry:1:1: error: not formatted (`outry fmt`)api/orders/create.outry:7:22: error: variable `api_key` is not defined in staging, prodapi/orders/create.outry:9:13: error: `Seed` is limited to dev and cannot be called in prodmain.go:42:1: error: route DELETE /orders/{id} has no request (`outry import go` creates api/orders/delete.outry)12 files, 3 environments, 18 Go routes: 4 errors, 0 warningsoutry fmt
Заголовок раздела «outry fmt»Привести файлы .outry к каноническому виду, как gofmt; комментарии сохраняются. Печатает изменённые
файлы.
outry fmt [ПУТИ]... [--check]По умолчанию — текущая папка. --check ничего не меняет и завершается с кодом 1, если файл не
отформатирован, — для CI.
outry convert
Заголовок раздела «outry convert»Переписать файлы .http в .outry рядом с ними. Существующий .outry не перезаписывается. См.
Файлы .http.
outry convert [ПУТИ]... [--dry-run] [--rm]| Флаг | Описание |
|---|---|
--dry-run |
Напечатать результат вместо записи файлов |
--rm |
Удалить .http после того, как записан его .outry |
outry vars
Заголовок раздела «outry vars»Показать итоговое значение каждой переменной окружения и откуда оно взялось. Значения секретов (из
хранилища паролей или из списка secrets) замаскированы.
outry vars [-e <ОКРУЖЕНИЕ>] [--project <ПАПКА>] [--var <ИМЯ=ЗНАЧЕНИЕ>]...project billing-api · env devbase env.toml http://localhost:8080token keychain eyJ…(212 chars)api_key missing not set: outry secret set api_key --env devuser_id saved 42| Флаг | Описание |
|---|---|
--var <ИМЯ=ЗНАЧЕНИЕ> |
Переопределить переменную, как в outry run |
--fresh |
Не учитывать значения из save |
--no-keyring |
Не искать секреты в хранилище паролей |
--reveal |
Показать значения секретов целиком |
--json |
Вывести JSON-массив |
Переменные из OUTRY_* и хранилища паролей показываются только для имён, которые есть в env.toml
(включая secrets) или среди сохранённых значений.
outry envs
Заголовок раздела «outry envs»Показать окружения проекта; * — окружение по умолчанию.
outry envs [--dir <DIR>]outry secret
Заголовок раздела «outry secret»Сохранить или удалить секрет в системном хранилище паролей. set читает значение из stdin.
outry secret set <NAME> [-e <ENV>] [--project <DIR>]outry secret rm <NAME> [-e <ENV>] [--project <DIR>]echo -n "$TOKEN" | outry secret set token --env prodoutry init
Заголовок раздела «outry init»Создать api/env.toml и пример запроса в указанной папке (по умолчанию — текущей). Если env.toml уже
есть, завершается с ошибкой.
outry init [DIR]outry import go
Заголовок раздела «outry import go»Создать запрос .outry для каждого роута Go-сервиса (chi, gin, net/http), у которого его ещё нет.
Расхождения с кодом существующих запросов выводятся
под роутом; меняются файлы только с --fix. Подробнее — Импорт роутов из Go.
outry import go [DIR]DIR — папка с Go-кодом, сканируется рекурсивно (по умолчанию — текущая). Файлы создаются в проекте,
найденном от текущей папки; у него должен быть env.toml.
| Флаг | Описание |
|---|---|
--dry-run |
Только показать план (с --fix — diff правок) |
--check |
Для CI: ничего не писать, отчёт по файлам, код выхода 1 при ошибках |
--fix |
Исправить расхождения, которые правятся без потери смысла |
--prune |
Удалить файлы, все запросы которых — к пропавшим роутам |
--format <F> |
text (по умолчанию), github (аннотации GitHub Actions), json |
--base <NAME> |
Переменная с адресом сервиса в существующих URL .http (для сопоставления), по умолчанию base |
--query <FILE.scm> |
Дополнительный запрос tree-sitter для другого роутера; можно несколько раз |
--project <DIR> |
Папка проекта с env.toml |
--json |
То же, что --format json |
outry lsp
Заголовок раздела «outry lsp»Языковой сервер для файлов .outry через stdin/stdout: ошибки outry check, предупреждения окружения,
расхождения с Go-кодом с Quick Fix, автодополнение, подсказки, переход к определению, форматирование и
code lens «▶ Send». Запускается редактором — см. Редакторы.
outry lsp [--env <ENV>] [--no-keyring]| Флаг | Описание |
|---|---|
--env <ENV> |
Окружение для переменных и отправки, по умолчанию — default из env.toml |
--no-keyring |
Не брать секреты из системного хранилища паролей |
outry update
Заголовок раздела «outry update»Обновить CLI до последнего релиза на GitHub. Перед заменой бинаря проверяется контрольная сумма SHA-256 архива.
outry update [--check]--check только сообщает, есть ли новая версия.
outry completions
Заголовок раздела «outry completions»Напечатать скрипт автодополнения для шелла: bash, zsh, fish, powershell или elvish.
Дополняются команды, флаги и их описания.
outry completions fish > ~/.config/fish/completions/outry.fishoutry completions bash > ~/.local/share/bash-completion/completions/outryecho 'source <(outry completions zsh)' >> ~/.zshrcПосле outry update запустите снова, чтобы подхватить новые команды.
Переменные окружения
Заголовок раздела «Переменные окружения»| Переменная | Что делает |
|---|---|
OUTRY_<NAME> |
Значение переменной name; см. Переменные |
OUTRY_NO_UPDATE_NOTIFIER=1 |
Отключить напоминание о новой версии (NO_UPDATE_NOTIFIER тоже работает) |
CI |
Если задана, напоминание о новой версии отключено |
NO_COLOR |
Отключить цветной вывод |