読み込み
cURL、Postman、Insomnia、OpenAPI、Swagger、HAR、Paw、Brunoのリクエストをワークスペースに取り込み、読み込みレポートを読みます。
Echolotは、他のツールにある既存のデータをワークスペースに読み込みます。リクエスト、フォルダ、認証、変数、環境、スクリプトが対象です。 形式は内容から判別し、認証情報はキーチェーンに移し、取り込めなかった内容はレポートで知らせます。
Echolotが読み込むもの
| 形式 | ファイル | 取り込まれる内容 |
|---|---|---|
| cURL | ペーストした、またはテキストファイルにあるcurl …コマンド | 1件のリクエスト:メソッド、アドレス、ヘッダー、ボディ、Basic認証、リダイレクトやTLS検証などの設定。 |
| Postman | Collection v2.0とv2.1、環境(.json) | フォルダ、リクエスト、認証、コレクション変数、プリリクエストスクリプトとテストスクリプト。環境は環境になります。 |
| Insomnia | v4のJSON書き出し、v5のYAMLコレクション | フォルダ、リクエスト、認証、環境。 |
| OpenAPI | OpenAPI 3.0と3.1、Swagger 2.0(JSONまたはYAML) | すべてのオペレーションにつき1件のリクエスト。パラメータ、ボディの例、セキュリティスキームの認証を含みます。サーバのアドレスは変数{{baseUrl}}になります。 |
| HAR | ブラウザまたはプロキシのHTTP Archive 1.2(.har) | セッションのAPI呼び出し。複数のホストがある場合は、ホストごとに1つのフォルダ。 |
| Paw | PawとRapidAPI for Macのドキュメント(.paw) | グループ、リクエスト、環境。Pawの動的な値は、可能なものはEcholotの変数と動的な値になります。 |
| Bruno | コレクションフォルダ(bruno.jsonまたは.bruファイルがあるもの) | フォルダ、リクエスト、認証、環境、スクリプトとテスト(記述のまま)。 |
コレクション、仕様、HARファイル、Brunoフォルダは、その名前の専用フォルダに取り込まれます。cURLコマンドは1件のリクエストになります。
Claude Desktop、Claude Code、Cursor、VS Code、CodexのMCPサーバ設定も、MCPサーバとして読み込めます。サーバの追加を参照してください。
アプリで読み込む
次のどの方法でも読み込めます。読み込み先は、サイドバーで選択しているフォルダ、または選択がなければワークスペースの最上位です。
- ファイル › 読み込む…(⇧⌘I)、またはサイドバーの+メニューやコマンドパレットの読み込む…。1つまたは複数のファイル、あるいはBrunoのコレクションフォルダを選びます。
- ファイルやBrunoフォルダを、ウインドウのコンテンツパネルのどこか、またはサイドバーのフォルダにドロップします。
- cURLコマンド、またはコレクションや仕様のテキストを、サイドバーにペーストします(サイドバーにフォーカスして⌘V)。
- リクエストのアドレスフィールドにcURLコマンドをペーストします。この方法ではリクエストは新規作成されません。開いているリクエストのメソッド、アドレス、ヘッダー、ボディ、認証、設定が置き換わり、名前と位置は変わりません。 使えなかった内容は、アドレスバーの下にcURLの注記として一覧表示されます。
読み込みレポート
読み込みが終わると、レポートが開きます。タイトルには取り込んだ内容が表示されます(「22件のリクエスト、7件のフォルダを読み込みました」)。その下に、読み込み元の形式と、すべて読み込めたかどうかが表示されます。続いて、ファイルごとに次の内容が並びます。
- そのままでは取り込めなかった内容についての注記。注記なしに捨てられるものはありません。
- シークレット:ファイルではなくキーチェーンに保存された値の名前。値そのものは表示されません。
サイドバーに表示で読み込んだ項目が選択されます。完了でレポートが閉じます。注記のない単独のcURLコマンドは、レポートなしですぐに開きます。
シークレットはキーチェーンへ
ワークスペースのファイルには、パスワード、トークン、キーが平文で書き込まれることはありません。そのため、Gitにコミットできます。
- リクエストに入力された認証情報(認証、
Authorizationヘッダー、APIキーのヘッダー)は、リクエストとフィールドの名前が付いたシークレット変数になります。 たとえばcurl -u heidi:alpenglow https://demo.echolot.dev/echo/basic-auth/heidi/alpenglowは、heidi-alpenglowというリクエストを作り、パスワードは{{heidi_alpenglow_password}}になります。値はキーチェーンに保存されます。 - 環境とコレクションのシークレットの値も、同じようにキーチェーンに保存されます。
アドレスのクエリ文字列、ボディ、user:password@形式のアドレスにある認証情報は、まだ移されません。読み込んだワークスペースをコミットする前に確認してください。シークレットを参照してください。
スクリプト
Postmanのプリリクエストスクリプトとテストスクリプトは取り込まれ、Echolotのpm.*サンドボックスで実行されます。
読み込まれたスクリプトは、信頼するまで実行されません。レポートにはスクリプトの数が表示され、それが必要な最初の送信で確認を求められます(スクリプトを確認…)。
Brunoのスクリプトとテストは記述のまま取り込まれますが、Brunoのbru、req、resはPostmanのpmとは異なるため、実行前に修正が必要な場合があります。
スクリプトとテストを参照してください。
取り込まれないもの
該当する内容は、レポートにそのつど記載されます。
| 形式 | 除外または変更される内容 |
|---|---|
| cURL | Cookieファイル、Echolotに対応する設定がないオプション、コロンのないヘッダー。ファイルから読み取るボディやフォームフィールド(-d @file、-F field=@file)は、リクエストの送信時にそのファイルから読み取られます。 |
| Postman | Echolotにない認証タイプ。ファイルのボディとファイルのフィールド:ファイルをもう一度選んでください。 |
| Insomnia | Echolotにない種類の項目。Echolotに相当する機能がないテンプレートタグ({% … %})はテキストのまま残ります。Echolotにない認証タイプ。ファイルのボディとフィールド。Echolotが提供しないOAuth 2.0のグラントは、認可コードグラントになります。 |
| OpenAPI | リクエストに入れられない場所のパラメータ、リクエストに入れられない種類のボディ、OAuthのフロー(認証は手動で設定してください)、Cookieとして送るAPIキー(Cookieヘッダーを追加してください)。サーバがない仕様、またはサーバのアドレスが相対パスの仕様:送信前に{{baseUrl}}を設定してください。非推奨のオペレーションも読み込まれます。 |
| HAR | 画像、フォント、スクリプト、スタイルシート。繰り返されたリクエストは1回だけ取り込まれます。ブラウザのセッション認証情報を含むヘッダー:代わりにフォルダに認証を設定してください。 |
| Paw | Echolotにない種類の動的な値は空のテキストになります。ファイル参照とクライアント証明書:もう一度設定してください。 |
| Bruno | Echolotにないボディと認証のモード。フォルダ全体で共有されるヘッダー(Echolotのフォルダにはありません):リクエストまたはプリリクエストスクリプトに追加してください。Echolotに相当するものがない演算子を使うアサーション。 |
OpenAPIファイルはリンクされたままになる
OpenAPIまたはSwaggerのファイルを読み込むと、そのコピーがワークスペースのspecs/フォルダにも保存され、新しいリクエストのフォルダはその仕様に従います。
仕様が変わると、Echolotは変更内容を表示し、リクエストに反映できます。仕様は仕様ページで編集します。
コマンドラインから読み込む
echolot importは同じ形式をワークスペースのフォルダに読み込みます。移行のスクリプト化や、CIでの読み込みに使えます。
echolot import Alpenglow.postman_collection.json -w "Alpenglow.echolot"
echolot import staging.postman_environment.json -w "Alpenglow.echolot"
echolot import openapi.yaml -w "Alpenglow.echolot" --folder catalog
pbpaste | echolot import - -w "Alpenglow.echolot" # a cURL command from the clipboard形式は内容から判別します。--formatを指定すると判別を省略できます(curl、postman-collection、postman-environment、openapi、swagger、insomnia、har、paw、mcp-config)。同じレポートが出力されます。
Imported 22 requests, 7 folders from Postman collection v2.1.
warning: 19 pre-request or test scripts were imported; Echolot runs them once you trust them.Macでは、アプリと同じようにシークレットがキーチェーンに保存されます。キーチェーンがない環境(Linux、またはECHOLOT_KEYCHAIN=0)では、シークレットはファイルに残らず、送信する場所でどのECHOLOT_SECRET_<NAME>変数を設定すればよいかがツールから示されます。
コマンドラインツール自体は、Newmanと同じく、すべてのスクリプトを確認なしで実行します。
Postmanコレクションは、読み込まなくても実行できます。echolot run collection.jsonで、そのまま実行されます。
読み込みと書き出しとecholot runを参照してください。
逆方向については、書き出しを参照してください。