Echolot
ワークスペース

環境と変数

リクエストで変数を使い、サーバごとの値のセットを環境に持たせ、切り替え、どの値が優先されるかを確認する方法を説明します。

変数は、ベースアドレス、ユーザー名、トークンなど、多くの場所で使う値につける名前です。リクエストの任意のフィールドに{{name}}と書くと、Echolotは送信時に値を入れます。環境は、Local、Staging、Productionなど、送信先ごとの値のセットです。環境を切り替えると、すべてのリクエストがそちらに向かいます。

変数を使う

アドレス、ヘッダー、パラメータ、ボディ、認証のフィールド、設定に{{name}}と入力します。Alpenglowでは、すべてのアドレスが{{baseURL}}で始まります。

{{baseURL}}/products/{{productId}}

フィールドに{{と入力すると、そのリクエストで使える変数の一覧が表示されます。{{$uuid}}のような動的な値、日付、ハッシュ、ほかのリクエストのレスポンスの値も含まれます。変数が別の変数を含むこともできます。たとえばbaseURLをhttps://{{host}}/v1にできます。

リクエストが解決できない名前はフィールド内で目印が付き、Echolotが理由を説明します。たとえば{{productId}} is not definedやthe secret {{token}} has no value on this Macです。

変数を定義する場所

変数は、広いほうから近いほうへ、5つのレベルにあります。

レベル編集する場所保存先
グローバル環境 › グローバルこのMacのみ(すべてのワークスペース共通)。
ワークスペース環境 › ワークスペース、またはワークスペース設定… › 変数workspace.toml
環境環境 › 該当の環境environments/<name>.toml
フォルダフォルダ設定… › 変数フォルダの_folder.toml
リクエストリクエストの変数タブリクエストのファイル

シークレットでない値は、入力するとそれらのファイルに書き込まれます。シークレットの値は決して書き込まれません。シークレットを参照してください。

どの値が優先されるか

同じ名前が複数のレベルで定義されている場合は、いちばん近いものが優先されます。

  1. リクエスト自身の変数。
  2. そのフォルダの変数、次に上位のフォルダの変数(近い順に外側へ)。
  3. アクティブな環境の変数。
  4. ワークスペースの変数。
  5. グローバル。

つまり、ワークスペースがデフォルトを持ち、環境がそのサーバで異なる部分を変え、フォルダやリクエストが両方を上書きできます。オフにした変数(チェックボックスを外したもの)はスキップされ、次のレベルの値が使われます。

Alpenglowでは、ワークスペースのbaseURLはhttps://demo.echolot.dev/v1です。Stagingをアクティブにすると、Stagingも定義しているためhttps://staging.alpenglow.example/v1になります。環境なしのときは、リクエストはワークスペースの値を使い、デモAPIに送信されます。

スクリプトが実行中に設定した値(pm.environment.setなど)は、それを実行したウインドウまたはコマンドの間だけ続き、ファイルには書き込まれません。スクリプトとテストを参照してください。レスポンスのキャプチャは異なり、取得した値をワークスペースまたは環境の変数に保存します。

環境を選ぶ

環境メニューは、すべてのページのページヘッダーにあります。アクティブな環境が点とともに表示されます。環境は緑、保護された環境は赤、環境なしはグレーです。

クリックして環境を選びます。ワークスペースの値だけを使うには環境なしを選びます。環境を管理…は環境ページを開きます。

ページヘッダーで開いた環境メニュー。環境なし、Local、Staging、盾マーク付きのProductionが並んでいる

この選択は、ウインドウとこのMacに属します。ワークスペースには書き込まれないので、環境を選んでもファイルは変わらず、チームメンバーはそれぞれ自分の環境を選べます。Echolotはワークスペースごとにそれを記憶し、次に開いたときにもう一度選択します。

ランナー、フロー、クイック送信も、ウインドウのアクティブな環境を使います。コマンドラインでは、--envで環境を選びます。

echolot run Alpenglow.echolot --env staging

--envには、環境のファイル名(.tomlを除いたもの)か、環境の名前を指定します。

環境ページ

表示 › 環境(⌥⌘E)、または環境メニューの環境を管理…で開きます。左側には次のものがあります。

  • デフォルト: グローバルとワークスペース。
  • 環境: 1つにつき1行。アクティブはウインドウが使っているもの、盾マークは保護された環境を示します。

行を選択すると、右側でその変数を編集できます。

Stagingを選択した環境ページ。名前、保護のスイッチ、変数baseURL、wsURL、passwordが表示されている

環境を追加する

  1. 環境ページで、環境の横の+(環境を追加)をクリックします。
  2. New Environmentという名前の新しい環境が開きます。名前のフィールドに名前を入力して↩を押します。
  3. このサーバで異なる変数を追加します。

各環境はenvironments/内の1つのファイルです。ページには、変数の下にその名前がFile: environments/staging.tomlのように表示されます。

変数を編集する

各行には次のものがあります。

列内容
チェックボックス変数を削除せずに、オンまたはオフにします。
名前{{…}}の中に書く名前。
値値。シークレットの場合は、値をキーチェーンに保存するフィールド。
シークレット値をファイルではなく、このMacのキーチェーンに保存します。シークレットを参照してください。
−変数を削除します。

変数を追加をクリックすると、新しい行が追加されます。Echolotは、入力が止まった少し後にテーブルを保存します。すべての変更は編集 › 取り消すで取り消せます。

環境に必要なのは、ワークスペースと異なる変数だけです。それ以外はすべて、ワークスペースのデフォルトから取られます。

環境の名前変更、保護、削除

環境の上部には次のものがあります。

  • 名前のフィールドで名前を変更します。ファイルの名前は変わらないので、そのファイルを参照しているものは引き続き見つかります。このページで追加した環境はNew Environmentとして始まるため、あとでどんな名前にしても、ファイルはnew-environment.tomlのままです。--envには名前も指定できます。
  • 保護をオンにすると、その環境へのすべての送信が先に確認されます。保護された環境を参照してください。
  • 環境を削除…は、確認してから、そのファイルをゴミ箱に入れます。アクティブだった場合、ウインドウは環境なしに切り替わります。

グローバル変数

グローバルには、あなた自身のユーザー名など、このMacのすべてのワークスペースで使う変数を置きます。いちばん広いレベルで、同じ名前のワークスペース、環境、フォルダ、リクエストの変数に上書きされます。どのワークスペースにも含まれないので、チームメンバーやコマンドラインツールからは見えません。

値の出どころを確認する

表示 › 変数を表示(⌥⌘V)は、変数パネルを開きます。現在のリクエストが参照できるすべての変数が、グローバル、ワークスペース、各環境、リクエストのフォルダ、リクエストの列に並びます。使用中の値には目印が付き、アクティブでない環境は比較用に表示されます。シークレットはマスクされたままです。列のタイトルをクリックすると、その編集場所に移動します。パネルをピン留めすると、ページの横の列として残せます。

Catalog › Get productの上に開いた変数パネル。ワークスペース、Local、Staging、Productionの列にbaseURLとproductIdが並び、使用中の値に目印が付いている

リクエストのフィールド内の{{variable}}にポインタを置くと、クイックルックが表示されます。値、どのレベルから来ているか、パネルをその変数の位置で開くすべての変数…が表示されます。

このページの内容