Echolot
Рабочие пространства

Окружения и переменные

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

Переменная — это имя для значения, которое вы используете во многих местах: базового адреса, имени пользователя, токена. Напишите её как {{name}} в любом поле запроса, и Echolot подставит значение при отправке. Окружение — это набор значений для одного места, куда вы отправляете запросы, например Local, Staging или Production: переключите окружение, и каждый запрос уйдёт туда.

Использование переменной

Введите {{name}} в адресе, заголовке, параметре, теле, полях авторизации или настройках. В Alpenglow каждый адрес начинается с {{baseURL}}:

{{baseURL}}/products/{{productId}}

Введите {{ в поле, чтобы увидеть список переменных, доступных запросу, а также динамические значения, такие как {{$uuid}}, даты, хеши и значения из ответов на другие запросы. Переменная может содержать другие переменные: baseURL может быть https://{{host}}/v1.

Имя, которое запрос не может разрешить, помечается в поле, и Echolot объясняет почему, например {{productId}} is not defined или the secret {{token}} has no value on this Mac.

Где определяются переменные

Переменные существуют на пяти уровнях, от самого широкого до самого близкого:

УровеньГде его правитьГде хранится
ГлобальныеОкружения › ГлобальныеТолько на этом Mac, для всех рабочих пространств.
Рабочее пространствоОкружения › Рабочее пространство или Настройки рабочего пространства… › Переменныеworkspace.toml
ОкружениеОкружения › нужное окружениеenvironments/<name>.toml
ПапкаНастройки папки… › Переменные_folder.toml папки
ЗапросВкладка Переменные запросафайл запроса

Несекретные значения записываются в эти файлы по мере ввода. Секретные никогда не записываются: см. секреты.

Какое значение побеждает

Если одно и то же имя определено на нескольких уровнях, побеждает ближайший:

  1. Собственные переменные запроса.
  2. Переменные его папки, затем папок выше, от ближайшей наружу.
  3. Переменные активного окружения.
  4. Переменные рабочего пространства.
  5. Глобальные переменные.

Так рабочее пространство хранит значения по умолчанию, окружение меняет то, что отличается на его сервере, а папка или запрос могут переопределить и то и другое. Выключенная переменная (со снятым флажком) пропускается, и берётся значение следующего уровня.

В Alpenglow baseURL в рабочем пространстве равна https://demo.echolot.dev/v1. Если активно окружение Staging, она становится https://staging.alpenglow.example/v1, потому что Staging тоже её определяет. При Без окружения запросы используют значение рабочего пространства и уходят на демо-API.

Значения, которые скрипт задаёт во время работы (через pm.environment.set и подобные), живут до конца работы окна или команды, которая их задала, и никогда не записываются в файлы. См. скрипты и тесты. Захваты из ответов устроены иначе: они сохраняют взятое значение в переменную рабочего пространства или окружения.

Выбор окружения

Меню окружений находится в заголовке каждой страницы. Оно показывает активное окружение с точкой: зелёной для окружения, красной для защищённого, серой для Без окружения.

Нажмите на него и выберите окружение или Без окружения, чтобы использовать только значения рабочего пространства. Управление окружениями… открывает страницу «Окружения».

Открытое меню окружений в заголовке страницы: «Без окружения», Local, Staging и Production со щитом

Выбор принадлежит окну и этому Mac. Он не записывается в рабочее пространство, поэтому выбор окружения не меняет ни одного файла, и каждый коллега выбирает своё. Echolot запоминает выбор для рабочего пространства и выбирает то же окружение при следующем открытии.

Прогон, сценарии и Быстрая отправка тоже используют активное окружение окна. В командной строке выберите окружение параметром --env:

echolot run Alpenglow.echolot --env staging

--env принимает имя файла окружения без .toml или его имя.

Страница «Окружения»

Откройте её командой Вид › Окружения (⌥⌘E) или Управление окружениями… в меню окружений. Слева:

  • По умолчанию: Глобальные и Рабочее пространство.
  • Окружения: по строке на каждое. Активное отмечает то, что использует окно, а щит отмечает защищённое.

Выберите строку, чтобы править её переменные справа.

Страница «Окружения» с выбранным Staging: его имя, переключатель «Защищённое» и переменные baseURL, wsURL и password

Добавление окружения

  1. На странице «Окружения» нажмите + рядом с Окружения (Добавить окружение).
  2. Открывается новое окружение с именем New Environment. Введите его имя в поле имени и нажмите ↩.
  3. Добавьте переменные, которые отличаются на этом сервере.

Каждое окружение — файл в environments/. Страница показывает его имя под переменными: File: environments/staging.toml.

Правка переменных

В каждой строке есть:

СтолбецЧто делает
ФлажокВключает или выключает переменную, не удаляя её.
ИмяИмя, которое вы пишете в {{…}}.
ЗначениеЗначение. Для секрета — поле, которое хранит значение в связке ключей.
СекретХранит значение в связке ключей на этом Mac, а не в файле. См. секреты.
−Удаляет переменную.

Нажмите Добавить переменную, чтобы добавить строку. Echolot сохраняет таблицу через мгновение после того, как вы перестаёте печатать, и любое изменение можно отменить командой Правка › Отменить.

Окружению нужны только переменные, которые отличаются от рабочего пространства. Всё остальное берётся из значений по умолчанию рабочего пространства.

Переименование, защита и удаление окружения

Вверху окружения:

  • Поле имени переименовывает его. Файл сохраняет своё имя, так что всё, что на него ссылается, по-прежнему его находит. Окружение, добавленное на этой странице, называется New Environment, поэтому его файл — это new-environment.toml, как бы вы его потом ни назвали; --env принимает и имя.
  • Защищённое заставляет каждую отправку в него сначала спрашивать. См. защищённые окружения.
  • Удалить окружение… спрашивает, затем перемещает его файл в Корзину. Если окружение было активным, окно переключается на Без окружения.

Глобальные переменные

Глобальные хранят переменные для всех рабочих пространств на этом Mac, например ваше имя пользователя. Это самый широкий уровень: любое рабочее пространство, окружение, папка или запрос с тем же именем переопределяет их. Они не входят ни в одно рабочее пространство, поэтому коллеги и инструмент командной строки их не видят.

Откуда берётся значение

Вид › Показать переменные (⌥⌘V) открывает панель «Переменные»: все переменные, которые видит текущий запрос, в столбцах для глобальных, рабочего пространства, каждого окружения, папок запроса и самого запроса. Используемое значение отмечено; неактивные окружения показаны для сравнения. Секреты остаются скрытыми. Нажмите на заголовок столбца, чтобы перейти туда, где это правится. Закрепите панель, чтобы она осталась столбцом рядом со страницей.

Панель «Переменные» над запросом Catalog › Get product: baseURL и productId в столбцах «Рабочее пространство», Local, Staging и Production, используемое значение отмечено

Задержите указатель на {{variable}} в поле запроса, чтобы увидеть подсказку: её значение, уровень, с которого оно берётся, и Все переменные…, чтобы открыть панель на этой переменной.

На этой странице