コンテンツにスキップ

ヘッドレス実行と継続的インテグレーション

インターフェースで組み立てたシナリオは、コマンドラインから ウィンドウなしで 実行できます。API テストをパイプラインの 1 ステップに変えるための道筋です。

エディターに表示されたシナリオ「Find pets by status」。status という名前の Input/Param アクション、リクエスト「Finds Pets by status」、そして Log で構成されています

Terminal window
restorm \
--open ./projet.restorm \
--run "Find pets by status" \
--headless \
--param status=available
引数役割
--open <path>-o開くプロジェクト。--run と併用する場合は必須
--run <target>実行するシナリオ。これを指定するとコマンドラインモードが有効になります
--by <name|id>--run がシナリオを指し示す方法。名前(既定)または識別子
--headlessウィンドウを表示しません。指定しない場合はウィンドウが表示され、ログはコンソールに流れます
--param name=valueシナリオの入力パラメーター(Input / Param ボックス)に渡す値。繰り返し指定できます
--all-logsエンジンのエントリーも含めます。既定では Log アクションのものだけが出力されます
--out <file>ログをファイルにも書き出します(リアルタイム)
--clear-settings-cls起動前に設定を初期化します

書式が不正な --param= がないもの)は標準エラー出力に報告され、無視されます。 nom=(値が空)は受け付けられます。

値はパラメーターの 宣言された型 に従って変換されます — 変数とデータ を参照してください。

コード意味
0シナリオが正常に終了しました
1失敗、キャンセル、またはエンジンのエラー
2対象が見つからない、--out のファイルにアクセスできない、または --open なしの --run
3権限が拒否されましたRESTORM_TOKEN がない / 無効 / 失効している、プランが不足している、または検証エンドポイントに到達できない

この規約のおかげで、結果を CI ランナーからそのまま利用できます。

ログは標準出力に、生成された時点で 1 エントリーずつ、YAML のシーケンスとして 書き出されます。

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

レベルには印が付きます。⚪ debug、🔵 info、🟠 warn、🔴 error です。行が 折り返されることはないので、出力は grep できます。エラーは標準エラー出力に出ます。

これはインターフェースの「ログをコピー」ボタンが生成するテキストと まったく同じ です。どちらも同じ形式です。

シークレットのソースには 環境変数 を使ってください。シークレットは CI の 保管庫から注入され、Restorm はそれを読むだけで、プロジェクトには何も書き込まれません。 シークレット を参照してください。

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' # 固定したいバージョン
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' # 固定したいバージョン
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]
  • Toast アクションは何もしません。実行はそのまま続きます。
  • パラメーターを対話的に尋ねることはできません。--param ですべて渡すか、既定値を 使わせてください。
  • ディスプレイのないマシンでは、設定がどうであれ MCP サーバー は起動しません。

RESTORM_TOKEN トークン(接頭辞は rstk_)は、アカウントのダッシュボードから 生成します。個人ではなく 組織に紐づく もので、CI の保管庫に入れるのはこの トークンです。 アカウントとログイン を参照してください。