Přeskočit na obsah

Běh v režimu headless a průběžná integrace

Scénář sestavený v rozhraní se z příkazové řádky spustí bez okna. To je cesta, která z vašich testů API udělá krok pipeline.

Scénář „Find pets by status“ v editoru: akce Input/Param s názvem status, požadavek „Finds Pets by status“ a Log

Terminal window
restorm \
--open ./projet.restorm \
--run "Find pets by status" \
--headless \
--param status=available
ArgumentRole
--open <path>, -oProjekt, který se má otevřít. Povinný spolu s --run
--run <target>Scénář, který se má spustit. Jeho přítomnost aktivuje režim příkazové řádky
--by <name|id>Jak --run scénář určuje: podle názvu (výchozí) nebo podle identifikátoru
--headlessŽádné okno. Bez tohoto argumentu se okno zobrazí, zatímco logy běží po konzoli
--param name=valueHodnota pro vstupní parametr scénáře (blok Input / Param). Lze opakovat
--all-logsZahrne i záznamy motoru; ve výchozím stavu se vysílají jen záznamy akce Log
--out <file>Zapisuje logy průběžně také do souboru
--clear-settings, -clsPřed spuštěním resetuje předvolby

Špatně zapsaný --param (bez =) se ohlásí na chybovém výstupu a přeskočí se. name= (prázdná hodnota) se přijímá.

Hodnoty se převádějí podle deklarovaného typu parametru — viz Proměnné a data ve scénáři.

KódVýznam
0Scénář skončil správně
1Selhání, zrušení nebo chyba motoru
2Cíl nenalezen, soubor --out nedostupný, nebo --run bez --open
3Odepřené právo: RESTORM_TOKEN chybí, je neplatný nebo odvolaný, nedostatečný plán, případně nedosažitelný kontrolní bod

Právě tato konvence činí výsledek přímo použitelným pro runner CI.

Logy se zapisují na standardní výstup, po jednom záznamu, jakmile vznikne, ve podobě sekvence YAML:

- message: "🔵 [2026-07-29 10:30:00.123] Commande créée"
data: { id: 4271 }

Úrovně mají předřazený puntík: ⚪ debug, 🔵 info, 🟠 warn, 🔴 error. Řádky se nikdy nelámou — výstup zůstává použitelný přes grep. Chyby odcházejí na standardní chybový výstup.

Je to přesně ten text, jaký vytvoří tlačítko „kopírovat logy“ v rozhraní: stejný formát na obou stranách.

Použijte zdroj tajemství proměnná prostředí: tajemství vloží trezor vaší CI, Restorm je pouze přečte a do projektu se nic nezapíše. Viz Tajemství.

name: Tests d'API
on: [push]
jobs:
api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Installer Restorm
env:
RESTORM_VERSION: '1.4.2' # verze, kterou si chcete připnout
run: |
curl -sSL -o restorm.deb \
"https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb"
sudo apt-get install -y ./restorm.deb
- name: Exécuter les tests de fumée
env:
RESTORM_TOKEN: ${{ secrets.RESTORM_TOKEN }}
API_TOKEN: ${{ secrets.API_TOKEN }}
run: |
xvfb-run -a restorm \
--open ./api.restorm \
--run "Find pets by status" \
--headless \
--all-logs \
--out run.log \
--param status=available
- name: Publier le journal
if: always()
uses: actions/upload-artifact@v4
with:
name: journal-restorm
path: run.log
tests-api:
image: ubuntu:24.04
variables:
RESTORM_TOKEN: $RESTORM_TOKEN
RESTORM_VERSION: '1.4.2' # verze, kterou si chcete připnout
before_script:
- apt-get update && apt-get install -y curl xvfb
- curl -sSL -o restorm.deb "https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb"
- apt-get install -y ./restorm.deb
script:
- >
xvfb-run -a restorm
--open ./api.restorm
--run "Find pets by status"
--headless --all-logs --out run.log
--param status=$PET_STATUS
artifacts:
when: always
paths: [run.log]
  • Akce Toast nedělají nic; běh pokračuje normálně.
  • Parametry nelze vyžádat interaktivně: předejte je všechny přes --param, nebo je nechte nabýt výchozí hodnoty.
  • Server MCP se na stroji bez displeje nikdy nespustí, ať je nastavení jakékoli.

Token RESTORM_TOKEN (s předponou rstk_) se generuje na nástěnce vašeho účtu. Je vázaný na organizaci, ne na osobu: je to token, který se ukládá do trezoru CI. Viz Účty a přihlášení.