Przejdź do głównej zawartości

Zmienne i środowiska

Zmienne aplikacji Restorm żyją w folderze zmiennych, który może przechowywać wiele ich zestawów: po jednym na środowisko.

Środowisko to lista par klucz / wartość. Może ono zawierać podśrodowiska, które dziedziczą po środowisku nadrzędnym i nadpisują to, co w nich zostało zdefiniowane ponownie.

To właściwe narzędzie do odwzorowania układu stagingstaging / customer A, staging / customer B: wspólną bazę zapisuje się raz, powtarza się wyłącznie różnicę.

Drzewo środowisk: środowisko nadrzędne „Petstore” oraz jego dwa podśrodowiska „Staging” i „Production”

Selektor środowiska znajduje się po lewej stronie smartbara każdej zakładki żądania. Wyświetla kolorową pastylkę oraz nazwę środowiska.

Okno podręczne zawiera pole wyboru „Zastosuj do wszystkich żądań”: po zaznaczeniu przełącza cały folder naraz — dokładnie o to chodzi przy przenoszeniu całego projektu z local na staging.

Zmienna to nie tylko ciąg znaków. Restorm udostępnia następujące typy:

TypCzym jest
Ciąg znakówWartość literalna, wysyłana bez zmian
WyrażenieSzablon Handlebars — jedyny typ, w którym {{ }} są obliczane
LiczbaLiczba wraz z formatem wyświetlania
Wartość logicznaPrawda / fałsz
Data/godzinaData w formacie ISO wraz z formatem wyświetlania
KolorKolor szesnastkowy
SekretOdwołanie do źródła sekretu — wartość nigdy nie trafia do pliku projektu
ListaLista wartości
Wyliczenie / Wyliczenie wielokrotneWartość ograniczona zaimportowanym wyliczeniem
Własna lista / Własna lista wielokrotnaWybór według etykiety z własnej listy wartości
ZmiennaOdwołanie do innej zmiennej
ŚrodowiskoOdwołanie do środowiska
NullJawna wartość pusta

Od najbardziej ogólnego do najbardziej szczegółowego — wygrywa ostatni:

  1. środowisko główne, następnie każde podśrodowisko z łańcucha;
  2. zmienne samego środowiska, w kolejności ich zadeklarowania: zmienna może więc opierać się na tych zdefiniowanych powyżej;
  3. zmienne uruchomienia ustawione przez scenariusz (akcja Ustaw zmienną), które przesłaniają środowisko na czas wykonania;
  4. wartości właściwe dla żądania (nagłówki, parametry zapytania, parametry ścieżki), przy czym każda grupa rozwiązuje się na zgromadzonym kontekście;
  5. na końcu {{ }} zapisane bezpośrednio w polach żądania — zob. Zmienne inline.

Restorm wykonuje przy tym kilka przebiegów: wyrażenie ze środowiska nadrzędnego może więc pobrać wartość zdefiniowaną ponownie przez środowisko podrzędne.

Każda zmienna ma pole aktywacji. Zmienna wyłączona nie wchodzi do kontekstu — to czysty sposób na tymczasowe zneutralizowanie nadpisania bez jego usuwania.

Przy imporcie pary klucz / wartość, których wartość rozwiązuje się do pustej, zostają automatycznie wyłączone: pierwsze uruchomienie nie wysyła więc chmary pustych nagłówków.

Każde wyrażenie jest szablonem Handlebars, z ponad setką dostępnych helperów: ciągi znaków, matematyka, daty, listy, kodowanie, haszowanie, dane losowe.