Все разделы

Основные возможности

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

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

Переменная в Tetiva берётся из активного окружения текущего рабочего пространства — другого источника значений нет. Вы пишете {{base_url}} в URL, заголовке, теле или поле авторизации, и перед отправкой запроса подстановка заменяет запись на значение. Если переменной в активном окружении нет, текст уходит на сервер как есть — {{base_url}} внутри URL.

Окружения#

Окружение — это именованный набор пар «ключ — значение», привязанный к рабочему пространству. Типичный набор — Dev, Staging, Prod: одинаковые ключи, разные значения.

Селектор окружения стоит справа в строке URL. Активное окружение помечено зелёной точкой, пункт «No Environment» отключает подстановку целиком, «Manage Environments...» открывает модалку управления. Ту же модалку открывает иконка Environments в левой панели.

В модалке слева список окружений, справа — таблица переменных. Кружок слева от имени делает окружение активным. Контекстное меню на окружении даёт Rename, Duplicate, Export as Postman и Delete; кнопка загрузки внизу импортирует окружение Postman. Активным может быть только одно окружение сразу.

Tetiva
v0.17.0
Модалка Manage Environments в Tetiva: окружения local, develop, stage и prod, переменные develop, секретное значение замаскированоМодалка Manage Environments в Tetiva: окружения local, develop, stage и prod, переменные develop, секретное значение замаскировано
Значение с флагом «секрет» показано точками — раскрывает глаз в той же строке

Каждая строка переменной — это флажок «включена», ключ, значение, замок «секрет» и крестик удаления. Выключенная переменная остаётся в списке, но в подстановке не участвует. Новая строка сохраняется по Enter, по Tab или просто когда фокус уходит из строки.

Синтаксис и область подстановки#

Подстановка ищет по шаблону {{имя}} и работает в URL, ключах и значениях заголовков, теле запроса, полях авторизации, метаданных gRPC, запросе и переменных GraphQL, а также в адресе WebSocket-подключения.

Три правила стоит запомнить сразу:

  • Пробелы внутри скобок значимы. Пишите {{token}}, а не {{ token }}: подставляется ровно тот ключ, который стоит между скобками.
  • Подстановка одноуровневая. Если значение переменной само содержит {{other}}, вторым проходом это не раскроется — текст уйдёт как есть.
  • Неизвестная переменная не ошибка. Запрос всё равно отправится, просто с {{...}} в теле или URL. Оранжевая подсветка — единственное предупреждение, которое вы получите.

Приоритет разрешения#

Порядок короткий, потому что уровень всего один: значения берутся из включённых переменных активного окружения. Уровней «коллекция» и «глобальные переменные» в Tetiva нет — общие значения кладут в окружение, а специфичные для запроса вычисляют в pre-скрипте.

Единственное, что перекрывает окружение, — сам pre-скрипт. Вызов pm.environment.set("token", value) меняет значение для текущего прогона: URL, заголовки и тело пересобираются уже с новым значением, а авторизация подставляется после скрипта и тоже его видит. Подробности — в разделе Скрипты.

Подсветка, подсказка и переход к переменной#

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

Наведите курсор и задержитесь на четверть секунды — появится подсказка: имя переменной, бейдж Environment или Undefined, текущее значение и ссылка действия. «Open in Environment →» открывает модалку, прокручивает к нужной строке, подсвечивает её вспышкой и ставит курсор в поле значения. «+ Create in Environment» открывает ту же модалку с уже заполненным именем в строке добавления.

То же самое делает Cmd/Ctrl+Click прямо по {{...}} в редакторе — без ожидания подсказки. А если начать печатать {{, автодополнение предложит ключи активного окружения вместе с их значениями.

Секретные переменные#

Замок в строке переменной ставит флаг «секрет». Значение такой переменной показывается как •••••••• в модалке (глаз рядом раскрывает его временно), маскируется в подсказке при наведении и в автодополнении, а MCP-инструменты не возвращают его вообще.

Флаг влияет на отображение, а не на хранение. Значение лежит в локальной базе SQLite открытым текстом, попадает в синхронизацию вместе с остальными переменными и уезжает в файл при экспорте окружения в формате Postman (там оно помечается типом secret). На сервере данные воркспейса шифруются при хранении (AES-256-GCM, мастер-ключ лежит отдельно от базы), но сам сервис их читает: расшифровывает, чтобы отдавать вашим устройствам. Для боевых ключей это значит: секретность нужна против случайного скриншота и демонстрации экрана, а не против доступа к вашему диску.

Переменные из скриптов#

После выполнения запроса всё, что скрипты записали через pm.environment.set, сохраняется в активное окружение: существующие ключи обновляются, новые создаются включёнными и без флага «секрет». Если активного окружения нет, сохранять некуда — изменения останутся только в этом прогоне.

pm.environment.unset действует только на время выполнения: из окружения переменная не удаляется, убрать её насовсем можно крестиком в модалке.

Что синхронизируется между устройствами и в каком объёме — на странице Синхронизация. Как переменные попадают в заголовок Authorization — в разделе Авторизация.

обновлено