コンテンツにスキップ

シナリオ入門

シナリオ はグラフです。ボックス(アクション)が、値やシグナルを運ぶ 接続 で結ばれています。エンジンは、配線されたすべての入力が何かを受け取った 時点でそのボックスを実行します。

Restorm では、これが他の API クライアントにおけるリクエスト前 / リクエスト後の スクリプトに代わるものです。しかも決定的な利点があります — フローが 見える のです。

ツリーで右クリック ▸ 追加 ▸ シナリオ

エディターに表示された完成したシナリオ。Input/Param ノード、HTTP リクエスト、ステータスコードに対するアサーション、Handlebars による抽出、If 条件、Log で構成されています

  • 呼び出しを 連鎖 させ、ある呼び出しの値を次に渡します。リソースを作成し、 その識別子を取得して、次の呼び出しで使う、といった流れです。
  • 検証 します。アサーション、JSON スキーマの検証、比較。
  • 分岐とループifswitchforforEachwhileretry
  • 複数のトランスポートを指揮 します。MQTT の購読を開き、HTTP で処理を起こし、 メッセージが届くことを確認します。
  • 自動化 します。同じシナリオがインターフェースでも 継続的インテグレーションでウィンドウなしに 動きます。
概念内容
ボックス(ノード)1 つのアクション。90 種類が用意されています — カタログ を参照してください
ポートボックス上の接続点。型と向きを持ちます
接続(エッジ)出力ポートと入力ポートを結ぶ 1 本の線
セレクター接続を 通過中 の値に適用されるパス(data.items[0].id
実行変数実行中に設定して読み直せる、名前付きの値
パラメーターシナリオの入力。起動時またはコマンドラインで与えます
出力シナリオの呼び出し元に公開される結果

すべてのボックスが持つ 3 つのポート

Section titled “すべてのボックスが持つ 3 つのポート”

これらは設定には並びません。ボックスの枠組みそのものに含まれています。

ポート向き役割
in入力トリガー。複数 の入力接続を受け付け、その場合は すべて が届くまで待ちます — 「複数の分岐が終わるのを待つ」ためのバリアです
error出力失敗ルート。失敗したものはすべてここから出ていきます
done出力ボックス とその下流のサブグラフ全体 が終わったときに発火します

done と値の出力の違いは重要です。値は生成された時点で出ていきますが、done は その値に依存するすべてが終わるのを待ちます。

  1. HTTP リクエスト アクションを追加し、既存のリクエストに紐づけます。
  2. Assert アクションを追加し、演算子を eq にします。
  3. リクエストの response ポートからアサーションの入力 a へ接続を引き、 その接続に セレクター status を設定します。
  4. アサーションで b200 にします。
  5. 再生 をクリックします。

アサーションには thenelse の 2 つの出力があります。それぞれに LogToast をつなぐと、結果が流れていく様子を確認できます。