Коллекции, переменные и окружения
Структура коллекции
Коллекция — обычная папка в репозитории:
my-api/
endpoint.yaml # корень: имя, переменные, авторизация, скрипты коллекции
environments/
dev.yaml
prod.yaml
users/ # папка = группа запросов
folder.yaml # необязательно: имя, порядок, auth и скрипты папки
get-user.yaml # один запрос = один файл
fixtures/ # файлы для тел запросов (необязательно)
Пример запроса:
type: http
name: Get user
seq: 1
method: GET
url: '{{baseUrl}}/users/{{id}}'
params:
- { name: expand, value: profile }
headers:
- { name: Accept, value: application/json }
auth:
type: inherit
scripts:
post: |
pm.test("200", () => pm.response.to.have.status(200));
Порядок ключей фиксирован, пустые поля не пишутся — diff получается минимальным.
Переменные
Подстановка — {{name}} в URL, заголовках, телах, авторизации и скриптах. Порядок поиска:
- локальные переменные скрипта (
pm.variables.set) - данные итерации Runner (
pm.iterationData) - окружение
- переменные коллекции
- глобальные
Динамические переменные: {{$guid}}, {{$timestamp}}, {{$isoTimestamp}}, {{$randomInt}},
{{$randomEmail}}, {{$randomFullName}} и другие.
Окружения и секреты
Окружение — файл в environments/. Переменная с флагом Секрет хранится в системном хранилище
паролей (Windows Credential Manager, Secret Service на Linux) и никогда не попадает в Git — в файле
остаётся только имя.
Текущие значения
pm.environment.set("token", …) в скрипте сохраняет текущее значение только у вас — файл окружения
не меняется. Это удобно для токенов после логина. Текущие значения видны в окне «Окружения» (→ значение)
и сбрасываются кнопкой «Сбросить».
Авторизация
Задаётся у коллекции, папки или запроса; «Наследовать» берёт ближайшую сверху. Поддерживаются Bearer, Basic, API Key (заголовок или query) и OAuth 2.0.