Hoppscotch CLIは、APIコレクションをターミナルやCIから実行するための無料のオープンソースツールです。すでにHoppscotchのWeb版やデスクトップ版でリクエストを管理しているなら、hopp testを使うことで、そのコレクションをCIパイプラインに組み込めます。
ただし、Hoppscotch CLIの役割は明確に限定されています。できることは主に「コレクションを実行し、結果を返す」ことです。API設計、モック、ドキュメント生成、APIリソースのコード管理まではカバーしません。
そのため、次のようなケースでは代替ツールの検討が現実的です。
- JSONコレクションの実行だけでなく、設計やドキュメントも同じワークフローで扱いたい
- CI環境でNode.js v22要件がネックになる
- OpenAPIスペックのリンティングや品質ゲートを追加したい
- API定義、環境、スキーマ、テストをより一元的に管理したい
Hoppscotch CLIでできること
Hoppscotch CLIは、npmパッケージ@hoppscotch/cliとして提供されています。
npm i -g @hoppscotch/cli
注意点として、現在のHoppscotch CLIはNode.js v22以降を必要とします。Node 20に固定されたCIイメージを使っている場合は、CLI v0.26.0を使う必要があり、CI環境の管理が少し複雑になります。
基本コマンドはhopp testです。ローカルのコレクションファイルと環境ファイルを指定して実行します。
hopp test ./collection.json -e ./environment.json -d 500
クラウドまたはセルフホスト環境のコレクションを実行する場合は、コレクションID、環境ID、トークン、サーバーURLを渡します。
hopp test <collection-id> -e <environment-id> --token <access_token> --server <server-url>
Hoppscotch CLIは以下をサポートします。
- プリリクエストスクリプトの実行
-
pw.test()によるテストスイート -
pw.expect()によるアサーション - 失敗時の非ゼロ終了コード
- JUnit XMLレポート出力
- CSVを使ったデータ駆動型実行
例:
hopp test ./collection.json \
-e ./environment.json \
--reporter-junit ./reports/hoppscotch.xml \
--iteration-count 10 \
--iteration-data ./data.csv
CIで「既存のHoppscotchコレクションを実行する」だけなら、十分に実用的なランナーです。
チームがhopp testの代替を探す理由
Hoppscotch CLIの代替を探す理由は、ツール自体の良し悪しではなく、ワークフロー上の制約にあります。
コレクションランナーに特化している
API設計、モック、ドキュメントは別ツールで管理する必要があります。JSONエクスポート前提になりやすい
CLIの入力は、コレクションファイル、環境ファイル、またはクラウドIDです。CLI単体でスペック設計やリンティングは行いません。Node.js v22要件がある
多くのCIイメージではNode 18や20が標準のため、追加のバージョン管理が必要になることがあります。APIリソースをコードとして管理できない
エンドポイント、スキーマ、環境、ブランチなどをCLIから直接管理するワークフローではありません。
つまり、Hoppscotch CLIは「実行」に強いツールです。一方で、設計からテスト、ドキュメントまでを一つの流れで扱いたい場合は、別の選択肢を検討する価値があります。
1. Apidog CLI:設計からテストまで扱いたい場合
Apidogは、API設計、デバッグ、モック、ドキュメント、テストを扱うAPIプラットフォームです。Apidog CLIを使うと、テスト実行やAPIリソース管理をターミナルやCI/CDから操作できます。
テストシナリオやコレクションはapidog runで実行します。
apidog run <collection-or-scenario-id> -e <environment-id>
データ駆動型テストでは、CSVまたはJSONデータセットを指定できます。
apidog run <collection-or-scenario-id> \
-e <environment-id> \
-d ./data.csv
レポート形式も用途に応じて選択できます。
apidog run <collection-or-scenario-id> \
-e <environment-id> \
--reporter cli,json,html
クラウド上にテストレポートをアップロードする場合は、--upload-reportを使います。
apidog run <collection-or-scenario-id> \
-e <environment-id> \
--upload-report
Apidog CLIの特徴は、単なるテスト実行だけではありません。APIリソース、エンドポイント、スキーマ、環境、ブランチ、マージリクエストをCLIから管理できます。これにより、API定義とテストを別々のエクスポートファイルとして扱うのではなく、同じプラットフォーム上で管理できます。
ただし、Apidog CLIはスタンドアロンのOpenAPIリンターではありません。Apidogはインポート時にスペックを検証しますが、Spectralのような独立したリンティングコマンドや、split、join、bundleのようなスペック操作コマンドは提供していません。CIでOpenAPIリンティングを主目的にするなら、後述するinsoやRedoclyのようなツールが適しています。
向いているケース
- API設計、モック、ドキュメント、テストを1つのツールで扱いたい
- CSV/JSONを使ったデータ駆動型テストをCIで実行したい
- CLI、HTML、JSON、クラウドレポートを使い分けたい
- APIリソースをコードに近い形で管理したい
- OpenAPIをApidogに取り込んで運用したい
注意点
- スタンドアロンのOpenAPIリンターコマンドはない
- 単一のコレクションを実行するだけなら、機能が多すぎる場合がある
比較する場合は、以下の記事が参考になります。
2. Newman:PostmanコレクションをCIで実行する場合
Newmanは、Postmanの公式CLIコレクションランナーです。すでにPostmanでコレクションを管理しているチームなら、移行コストが低い選択肢です。
基本的な実行例です。
newman run collection.json -e env.json -r cli,json
JUnitレポートを出力する場合は、次のように指定します。
newman run collection.json \
-e env.json \
-r cli,junit \
--reporter-junit-export ./reports/newman.xml
データファイルを使ったイテレーションも可能です。
newman run collection.json \
-e env.json \
-d ./data.csv
向いているケース
- すでにPostmanを使っている
- PostmanコレクションをそのままCIで実行したい
- CLI、JSON、JUnit、HTMLなどのレポーターを使いたい
- エコシステムが大きいツールを選びたい
注意点
- Hoppscotch CLIと同様に、基本的にはランナー
- API設計やドキュメント管理のレイヤーは別途必要
- Postmanコレクション形式とスクリプトモデルに依存する
Apidogとの比較は、Apidog CLI vs Newmanを参照してください。
3. inso:OpenAPIリンティングも必要な場合
insoは、KongのInsomnia向けCLIです。Hoppscotch CLIとの大きな違いは、OpenAPIスペックのリンティングに対応している点です。
リンティングはSpectral上で実行されます。CIでOpenAPIの品質ゲートを作りたい場合に有力です。
例:
inso run test "My Test Suite" --env "Staging"
inso lint spec "My API Design"
inso export spec "My API Design" --output output.yaml
インストールはHomebrewまたはDockerを使えます。
brew install inso
または:
docker pull kong/inso:latest
insoは、.insomniaディレクトリまたはInsomniaのアプリデータディレクトリから設定を読み込みます。テストスイートやスペックは名前で参照します。
向いているケース
- CIでOpenAPIスペックをリンティングしたい
- Insomniaをすでに使っている
- テスト実行、スペックリンティング、スペックエクスポートをCLIで行いたい
- DockerやHomebrewで導入したい
注意点
- リソースを名前で参照するため、名前変更に弱い場合がある
- Insomnia 8ではクラウド/ログインアカウント必須化に関する反発や移行時の問題がありました。新規導入時はチームの運用に合うか確認が必要です。
関連比較:
4. Step CI:YAMLでAPIテストを書きたい場合
Step CIは、APIテストをYAMLで宣言的に定義するオープンソースツールです。JavaScriptスクリプトではなく、リクエストと期待値をYAMLで管理できます。
実行例:
npx stepci run workflow.yml
テスト定義はリポジトリ内で管理しやすく、レビューもしやすい形式です。
向いているケース
- GUIに依存せず、テストをGitで管理したい
- YAMLで読みやすいAPIテストを書きたい
- REST、GraphQL、gRPCをテストしたい
- 設定をリポジトリ内に完結させたい
注意点
- コミュニティやエコシステムは比較的小さい
- API設計、モック、ドキュメント機能はない
- 既存のGUIコレクションから自動生成するより、YAMLを手で書く運用になりやすい
Step CIは、UI不要で、Gitネイティブなテスト定義を重視するチームに向いています。
5. Hurl:軽量なHTTPスモークテストをしたい場合
Hurlは、プレーンテキスト形式でHTTPリクエストとアサーションを書くツールです。libcurlベースで高速に動作し、CIでのヘルスチェックやスモークテストに適しています。
例:
GET https://api.example.com/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
実行:
hurl --test health.hurl
複数ファイルをまとめて実行する場合:
hurl --test tests/*.hurl
向いているケース
- Node.js依存なしでHTTPテストを実行したい
- 小さなスモークテストを高速に回したい
-
.hurlファイルをPull Requestでレビューしたい - ドキュメントのように読めるテストを作りたい
注意点
- 本格的なAPIテストフレームワークより低レベル
- API設計、モック、ドキュメント機能はない
- 複雑なデータ駆動型シナリオやチェーンには不向きな場合がある
Hurlはプラットフォームではなく、軽量なHTTPテストツールです。用途を絞ると非常に使いやすい選択肢です。
比較表
| ツール | ライセンス | 主要な焦点 | データ駆動型 | スペックリンティング | 設計/モック/ドキュメント | レポート形式 |
|---|---|---|---|---|---|---|
| Apidog CLI | 商用(無料枠あり) | フルプラットフォーム + CLIテスト | あり (CSV/JSON) | なし(インポート時に検証) | あり | CLI, HTML, JSON, クラウド |
| Hoppscotch CLI | オープンソース | コレクションランナー | あり (CSVイテレーション) | なし | なし | CLI, JUnit |
| Newman | オープンソース | Postmanランナー | あり (データファイル) | なし | なし | CLI, JSON, JUnit, HTML |
| inso | オープンソース | Insomniaランナー + リンター | 限定的 | あり (Spectral) | 部分的(デザインドキュメント) | CLI, JUnit |
| Step CI | オープンソース | YAML APIテスト | あり | なし | なし | CLI, JUnit |
| Hurl | オープンソース | プレーンテキストHTTPテスト | テンプレート経由 | なし | なし | CLI, JUnit, HTML |
選び方
目的別に選ぶなら、次のようになります。
設計、モック、ドキュメント、テストを1つのワークフローにまとめたい
Apidog CLIを検討します。APIリソースとテストを同じシステムで扱えます。Postmanをすでに使っている
Newmanが最も導入しやすい選択肢です。CIでOpenAPIリンティングを必須にしたい
Spectralベースのリンティングができるinsoが候補になります。テスト定義をGitで読みやすく管理したい
YAMLならStep CI、プレーンテキストならHurlが向いています。Node.js v22要件を避けたい
Hurl、Newman、Step CI、insoを検討できます。特にHurlはNode.jsに依存しません。
Apidog CLIをCI/CDに組み込む方法は、以下も参考になります。
よくある質問
Hoppscotch CLIは無料ですか?
はい。@hoppscotch/cliはオープンソースで無料で使えます。コレクション実行、テストスクリプト実行、JUnitレポート出力に対応しています。
Node.js v22を避けたい場合、最もシンプルな代替はどれですか?
軽量さを重視するならHurlです。Node.jsに依存しない単一バイナリとして使えます。insoはHomebrewまたはDockerで導入できます。Step CIはnpxで実行できますが、現在のHoppscotch CLIのようにNode.js v22固定ではありません。
既存のHoppscotchコレクションを移行できますか?
はい。多くのツールは、エクスポートされたコレクションやOpenAPIを入力として扱えます。Apidogに移行する場合は、Hoppscotch CLIからApidog CLIへの移行を参照してください。
Apidog CLIはinsoのようにOpenAPIスペックをリンティングできますか?
いいえ。Apidogはインポート時にスペックを検証しますが、スタンドアロンのリンターコマンドはありません。CIでSpectralスタイルのルール強制が必要な場合は、Apidogとinsoを併用するか、Apidog CLI vs Redocly CLIを参照してください。
CIパイプラインに最適な代替はどれですか?
どのツールも失敗時に非ゼロ終了コードを返せるため、CIで利用できます。選定基準は次の通りです。
- 純粋なコレクション実行:Newman
- 軽量なHTTPチェック:Hurl
- OpenAPIリンティング:inso
- 設計からテストまでの統合:Apidog CLI
- GitネイティブなYAMLテスト:Step CI
Hoppscotch CLIは、コレクションランナーとしては十分に実用的です。ただし、API設計、モック、ドキュメント、テストをつなぎ合わせずに管理したい場合は、統合プラットフォームを検討する価値があります。まずはApidog CLIの完全ガイドを確認し、Apidogをダウンロードして最初のシナリオを実行してみてください。
Top comments (0)