inso(Kong の Insomnia CLI)で API テストを実行していて Apidog CLI への移行を検討している場合は、次の手順で進めます。Insomnia から仕様書とテスト資産をエクスポートし、Apidog にインポートし、CI 上の inso run を apidog run に置き換えます。
なぜ inso から Apidog CLI に移行するのか
inso は、リクエスト実行、Spectral による OpenAPI リント、単体テスト実行を CLI から扱える堅牢なツールです。Insomnia の Git Sync で作成された .insomnia ディレクトリからデータを読み取れます。
既存ワークフローに問題がなければ、移行は必須ではありません。移行を検討する主な理由は次の通りです。
Insomnia 8 以降のクラウドアカウント要件
ローカルファーストで使いたいチームにとって、強制ログインは運用上の制約になります。データ損失や移行トラブルへの対応
Insomnia 8 への移行時にデータ損失や移行問題を経験した場合は、まず復旧とエクスポートを優先してください。参考: Insomniaデータの回復とエクスポート、Insomnia 8のデータ損失回復と移行ツールチェーンを統合したい
insoは CLI 実行に強い一方、設計、モック、ドキュメント、テストを別ツールで組み合わせる構成になりがちです。Apidog は設計、デバッグ、テスト、モック、ドキュメントを 1 つのプラットフォームで扱い、CLI からテストを実行できます。
アプリ全体の比較は、ApidogとInsomniaの比較 と InsomniaとApidogの選択 も参照してください。
始める前に:移行できるものとできないもの
| Insomnia のアセット | Apidog に移行できるか | 方法 |
|---|---|---|
| OpenAPI / 設計ドキュメント | はい | YAML / JSON にエクスポートして Apidog にインポート |
| リクエストコレクション | はい | Insomnia からエクスポートして Apidog にインポート |
| 環境と変数 | はい | Apidog の環境として再作成 |
単体テストスイート(inso run test) |
部分的に可能 | Apidog のテストシナリオとして再構築 |
Spectral リント設定(inso lint spec) |
1 対 1 では不可 | CI に Spectral を残す |
重要な点として、inso lint spec は Spectral を実行します。Apidog CLI には、スタンドアロンの仕様リンター、スタイルガイド、分割、結合、バンドル用の CLI コマンドはありません。
Apidog はインポート時に OpenAPI 仕様を検証しますが、カスタム Spectral ルールセットの代替ではありません。CI で仕様品質をゲートしている場合は、Spectral を残したまま Apidog CLI を追加してください。
ステップ1:Insomnia から仕様書とテスト資産をエクスポートする
まず、OpenAPI 設計ドキュメントをファイルに書き出します。
# OpenAPI 設計ドキュメントを YAML にエクスポート
inso export spec "My API Design" --output my-api.yaml
inso がデータを見つけられない場合は、.insomnia ディレクトリの場所を指定します。
inso export spec "My API Design" \
--workingDir ./design \
--output my-api.yaml
または --src を使ってソースを明示します。
inso export spec "My API Design" \
--src ./path/to/.insomnia \
--output my-api.yaml
リクエストコレクションや CLI で扱いづらい資産は、Insomnia アプリからエクスポートします。
- Insomnia を開く
- 対象ワークスペースを選択
- Export を実行
- OpenAPI または Insomnia v4 形式で保存
- 設計ドキュメントとコレクションの両方を保持する
アプリが起動できない、Git Sync やクラウドアカウントで問題がある場合は、エクスポートと復旧のウォークスルー を先に確認してください。
ステップ2:Apidog にインポートする
Apidog を開き、プロジェクトを作成して、エクスポートした YAML または JSON をインポートします。
Apidog は OpenAPI をネイティブに読み取ります。インポート後、次の要素を Apidog 上で編集、モック、テストできます。
- エンドポイント
- スキーマ
- サンプルデータ
- リクエスト定義
- 環境変数
CLI を使ってセットアップを自動化する場合は、認証とプロジェクト操作を先に準備します。初期設定は Apidog CLIインストールガイド と 完全なCLIガイド を参照してください。
インポート時に Apidog は仕様を検証します。OpenAPI の構造に問題がある場合は、この時点で検出できます。ただし、これは inso lint spec と同じではありません。Spectral のカスタムルールセットが必要な場合は、CI に Spectral を残します。
ステップ3:inso コマンドを apidog run に置き換える
移行の中心は、CI やローカルスクリプト内のコマンド置換です。
| 実行したい内容 |
inso コマンド |
Apidog CLI の同等コマンド |
|---|---|---|
| 単体テストスイートを実行 | inso run test "Smoke Suite" --env "Staging" |
apidog run --test-scenario "Smoke Suite" -e staging |
| コレクションを実行 | inso run collection "Checkout Flow" --env "Staging" |
apidog run "Checkout Flow" -e staging |
| 指定スクリプトを実行 | inso script ci-smoke --env <env-id> |
apidog run -e <env-id> を CI や npm script に組み込む |
| OpenAPI 仕様をリント | inso lint spec "My API Design" |
1 対 1 の対応なし。Apidog はインポート時に検証 |
| 仕様をファイルにエクスポート | inso export spec "My API Design" --output api.yaml |
Apidog のインポート / エクスポートで処理。実行時ステップではない |
移行時は、特に次の点を確認してください。
環境の指定
inso では --env を使います。
inso run test "Smoke Suite" --env "Staging"
Apidog CLI では -e または --env を使います。
apidog run --test-scenario "Smoke Suite" -e staging
Insomnia の環境変数は、Apidog の環境として再作成します。その後、名前または ID で参照します。
テストスイートはテストシナリオに置き換える
inso run test は Insomnia の単体テストスイートを実行します。Apidog では、同等の構造をテストシナリオとして作成します。
基本的な対応は次の通りです。
- Insomnia のリクエスト順序 → Apidog のステップ順序
- Insomnia のアサーション → Apidog のアサーション
- Insomnia の環境変数 → Apidog の環境変数
- CI 実行 →
apidog run
inso script は直接コマンドに展開する
inso script でコマンドをラップしていた場合は、CI 側で apidog run を直接呼び出すか、npm script や Makefile にまとめます。
{
"scripts": {
"test:api": "apidog run --test-scenario \"Smoke Suite\" -e ci -r cli,json"
}
}
npm run test:api
コマンドごとの詳細は、Apidog CLI vs inso (Insomnia CLI) を参照してください。Newman や Postman CLI からの移行も検討している場合は、Apidog CLI vs Newman と Apidog CLI vs Postman CLI も参考になります。
ステップ4:レポーターを移行する
inso では、CI 向けに CLI 出力や JUnit 形式のレポートを使うことが一般的です。
Apidog CLI では、CLI、HTML、JSON 形式のレポーターを使えます。
# CLI サマリーと HTML レポートを出力
apidog run --test-scenario "Smoke Suite" \
-e staging \
-r cli,html
用途別には次のように選びます。
| 用途 | レポーター |
|---|---|
| CI ログで結果を確認 | cli |
| 人間がブラウザで確認 | html |
| 下流ツールで解析 | json |
| チームで実行結果を共有 | --upload-report |
例:
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json \
--upload-report
レポート形式の詳細は テストレポートガイド を参照してください。
ステップ5:データ駆動型テストを移行する
Insomnia 側で複数データを使ったテストを実行していた場合は、Apidog CLI の -d オプションで CSV または JSON データセットを渡します。
apidog run --test-scenario "Login Matrix" \
-e staging \
-d ./users.csv \
-r cli,json
たとえば users.csv は次のような形式にできます。
email,password,expectedStatus
user1@example.com,password123,200
user2@example.com,wrong-password,401
テストシナリオ内では、データセットの列を変数として使います。
{{email}}
{{password}}
{{expectedStatus}}
データセット形式と変数バインディングは、データ駆動型テストガイド を確認してください。
ステップ6:CI に組み込む
最後に、CI パイプライン内の inso コマンドを apidog run に置き換えます。
変更前:
# CI での inso
inso run test "Smoke Suite" --env "CI" --reporter junit
変更後:
# CI での Apidog CLI
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json \
--upload-report
認証には、CI シークレットに保存したアクセストークンを使います。
GitHub Actions では、概念的には次のような構成になります。
name: API Tests
on:
push:
branches:
- main
pull_request:
jobs:
api-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Apidog tests
env:
APIDOG_ACCESS_TOKEN: ${{ secrets.APIDOG_ACCESS_TOKEN }}
run: |
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json \
--upload-report
完全な CI/CD 例は CI/CDパイプラインガイド と GitHub Actionsガイド を参照してください。認証については Apidog CLIの認証 にまとまっています。
Spectral を CI に残す
inso lint spec を使っていた場合、Apidog CLI だけに置き換えるのではなく、Spectral をそのまま CI に残すのが安全です。
典型的なハイブリッド構成は次の通りです。
# OpenAPI 仕様を Spectral でリント
npx @stoplight/spectral-cli lint my-api.yaml
# API テストを Apidog CLI で実行
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json
これにより、次の責務分離になります。
- Spectral: OpenAPI のスタイルガイド、カスタムルール、品質ゲート
- Apidog: API テスト実行、レポート、設計・モック・ドキュメントとの統合
Apidog CLI に apidog lint のような代替コマンドがある前提で移行しないようにしてください。
inso vs Apidog CLI 概要
| 機能 |
inso(Insomnia CLI) |
Apidog CLI |
|---|---|---|
| コレクション / スイート実行 | はい | はい |
| 環境指定 | --env |
-e / --env
|
| OpenAPI リンティング | はい(Spectral) | スタンドアロンコマンドなし。インポート時に検証 |
| データ駆動型テスト | 限定的 | はい(-d、CSV / JSON) |
| レポート形式 | CLI、JUnit | CLI、HTML、JSON、クラウドアップロード |
| コードとしてのリソース |
.insomnia ディレクトリを読み込む |
エンドポイント、スキーマ、ブランチ、マージリクエスト |
| 統合プラットフォーム | Insomnia + 外部ツール | 設計、モック、ドキュメント、テストを統合 |
| アプリ利用時のアカウント | Insomnia 8+ でクラウドアカウントが必要 | Apidog アカウントを使用 |
移行チェックリスト
実作業では、次の順番で進めると安全です。
[ ] Insomnia から OpenAPI 仕様を YAML / JSON でエクスポート
[ ] リクエストコレクションをエクスポート
[ ] Insomnia の環境変数を棚卸し
[ ] Apidog プロジェクトを作成
[ ] OpenAPI 仕様を Apidog にインポート
[ ] 環境を Apidog に再作成
[ ] Insomnia のテストスイートを Apidog テストシナリオとして再構築
[ ] ローカルで apidog run を実行
[ ] レポーターを cli / html / json から選択
[ ] CI シークレットに Apidog アクセストークンを設定
[ ] CI の inso run を apidog run に置き換え
[ ] 必要なら Spectral を CI に残す
FAQ
Insomnia の OpenAPI 仕様は、編集なしで Apidog にインポートできますか?
通常はできます。Apidog は OpenAPI をネイティブに読み取り、インポート時に検証します。検証でエラーが出る場合は、仕様内の構造的な問題である可能性があります。
Apidog CLI に inso lint spec のような lint コマンドはありますか?
ありません。Apidog はインポート時に仕様を検証しますが、スタンドアロンの CLI リンターやスタイルガイドコマンドはありません。カスタム Spectral ルールセットを使っている場合は、apidog run と並行して Spectral を CI に残してください。
Redocly CLI との違いを確認したい場合は、Apidog CLI vs Redocly CLI も参考になります。
CI で inso と同じように Apidog CLI を実行できますか?
はい。基本的にはコマンドを置き換え、CI シークレットからアクセストークンを渡し、必要なレポーターを指定します。
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json \
--upload-report
Insomnia の単体テストスイートはどうなりますか?
Apidog のテストシナリオとして再構築します。構造は近く、順序付きリクエストとアサーションを組み合わせる形です。一度再構築すれば、その後は apidog run で継続的に実行できます。
データ損失が理由で Insomnia から移行しています。どこから始めるべきですか?
まず 復旧とエクスポートガイド を使って、可能な限りデータを取り出します。その後、OpenAPI 仕様とコレクションを Apidog にインポートしてください。
まとめ
inso から Apidog CLI への移行は、主にコマンドとテスト資産の置き換えです。
-
inso export specで OpenAPI 仕様を取り出す - Insomnia アプリからコレクションをエクスポートする
- Apidog に仕様とコレクションをインポートする
- Insomnia の環境を Apidog 環境として再作成する
-
inso run test/inso run collectionをapidog runに置き換える -
--envを-e/--envに置き換える - レポートは
cli、html、json、--upload-reportから選ぶ - OpenAPI のカスタムリントが必要なら Spectral を残す
Apidog は inso lint spec の完全な代替ではありません。一方で、API の設計、モック、ドキュメント、テスト実行を 1 つのワークフローにまとめたい場合は、移行する価値があります。
まずは Apidogをダウンロード し、エクスポートした仕様に対して最初の apidog run を実行してください。
Top comments (0)