コンテンツにスキップ

シナリオを構築する

中央にキャンバス、その周囲に追加パレットとインスペクターがあります。ボックスは マウスで動かせ、ビューは移動とズームができます。

追加パレットを開いたシナリオエディター。上部によく使うボックスが並び、続いて追加、リスト、ループ、タイミング、数学、アルゴリズム、データ形式、エンコーディング、UX の各カテゴリーが表示されています

カテゴリー別に整理されたパレットから追加します。制御、コンポジション(リクエストと 接続)、リスト、ループ、時間、数学、アルゴリズム、データ形式、エンコーディング、 インターフェース、ユーティリティです。

リクエストに紐づくアクション(HTTP リクエストSOAP リクエスト、すべての 接続アクション)では、そのアクションが動かすプロジェクト内のリクエストを指定します。

シナリオ ↔ リクエストのリンク

Section titled “シナリオ ↔ リクエストのリンク”

アクションでリクエストを指定すると、強い結びつきが作られます。アクションは リクエストを 識別子で 参照し、コピーを持ちません。ここから次のことが導かれます。

  • リクエストは 共有 されたままです。URL、ヘッダー、ボディを変更すると、その リクエストを使う すべての シナリオが次の実行で変わります。
  • リンクは、ツリー内でリクエストの名前を変えたり移動したりしても 保たれます。 名前もパスも根拠にしていないからです。
  • リクエスト側では、smartbar に 「シナリオでの使用状況」ボタンがあります。そのリクエストを呼び出している シナリオを一覧表示し、そこへジャンプできます。共有リクエストを変更する前に 確認しておきたい操作です。
  • リクエストが 見つからない 場合(削除された、あるいはプロジェクトを開いた 時点で存在しない)、シナリオの検証は失敗します。再生ボタンはブロックされたままに なり、問題のあるボックスに印が付きます。シナリオが黙って壊れることはありません。

保存済みのバージョンに手を触れずに同じリクエストを再実行したい場合は、リクエストを 変更しないでください。リクエストを上書きする で説明する オーバーライド(クイック設定、アクションのオーバーライド、接続)を使います。

ボックスごとに固有のフィールドがあり、ボックス上で直接、またはインスペクターで 入力します。フィールドは 型付きの値 を受け付けます — 文字列、数値、真偽値、 日付、Handlebars 式、変数、カスタム値リスト、シークレットなど — 変数と環境 を参照してください。

Ctrl+Space を押すと、対応しているフィールドで変数とヘルパーの自動補完が 起動します。

出力ポートから入力ポートへドラッグします。

覚えておくべきルールは 2 つあります。

  1. 入力ポートは接続を 1 本しか受け付けません — ただし in ポートは例外で、 いくつでも受け付け、その場合はバリアとして働きます。
  2. 純粋なシグナルの出力は、純粋な値の入力に接続できません。 それ以外はすべて 許されます。値を運ぶ出力はトリガーも兼ねます。

詳細は ポートと接続 にあります。

接続は セレクター を持てます。通過中の値に適用されるパスです。

data.items[0].id
body['user-id']
status

これにより、呼び出しとその消費側のあいだに変換用のボックスを挟む必要がなくなります。 セレクターは接続を作るときにも後からでも設定でき、空にすると削除されます。

リクエストに紐づいたアクションは、リクエスト自体に手を触れずにその内容を変更 できます。次の順に 4 つの層があります。

  1. 保存されているままのリクエスト。
  2. アクション上で指定した クイック設定quick config)。これが、保存済みのリクエストのバリアントをシナリオの中で そのまま再利用する 方法です。あらためて入力し直す必要はありません。
  3. アクション上で入力した オーバーライド
  4. オーバーライドポートへの接続から届く値。

同じ呼び出しを 3 セットのデータで再実行するための、すっきりした方法です。

受信したイベントごとに再実行する

Section titled “受信したイベントごとに再実行する”

ボックスのコンテキストメニューには「受信したイベントごとに再実行」があります。 有効にすると、配線されたすべての入力がブロックしない「or」ゲートに変わります。 すべての入力がそろうのを待つ代わりに、どのポートであれ値を受け取るたびにボックスが 再び発火します。

ストリームを扱う(MQTT のメッセージごと、SSE のイベントごと)には不可欠であり、 完了サイクルの行き詰まりを解消するのもこの設定です。

  • Input / Param ボックスはシナリオのパラメーターを宣言します。値は起動時、 コマンドライン(--param name=value)、またはインタラクティブモードでの実行時の 問い合わせで与えられます。
  • Output / Return ボックスは呼び出し元に結果を公開します。シナリオ実行 アクションによって別のシナリオから呼ばれるときに役立ちます。

Restorm はグラフを 自動で整列 できます(レイアウト)。そのあとも、ボックスは 手で動かせます。Ctrl+Z で取り消し、Ctrl+Shift+Z でやり直します。

再生ボタンは、検証エラーが残っているあいだはブロックされます。無効な接続、 見つからないリクエスト、必須フィールドが空、といった場合です。問題のあるボックスには 印が付きます。