HTTP クライアント CLI
IntelliJ IDEA プラグインに加えて、HTTP クライアントも CLI ツールとして利用できます。 これにより、IDE を使用せずにターミナルから HTTP リクエストを実行したり、CI ワークフローに HTTP リクエストのテストを含めたりすることができます。 HTTP クライアント CLI を使用するには、Ultimate ライセンスは必要ありません。
HTTP クライアント CLI をインストールする
HTTP クライアント CLI は次の方法で入手できます。
HTTP クライアント CLI を Docker イメージ(英語)として取得するには、イメージをプルします。
docker pull jetbrains/intellij-http-clientイメージのバージョンを確認してください:
docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client --versionZIP アーカイブを取得するには、 当社のサイトからダウンロードするか、cURL を使用します。
curl -f -L -o ijhttp.zip "https://jb.gg/ijhttp/latest"インストールされているバージョンを確認する:
./ijhttp --versionmacOS では、Homebrew を使用してインストールすることもできます。
brew install ijhttpインストールされているバージョンを確認する:
ijhttp --version
HTTP リクエストの実行
.http 要求ファイルを作成します。 すべてを一度に実行したい場合は、ファイルに複数の HTTP、WebSocket、GraphQL リクエストを含めることができます。
HTTP クライアント CLI を実行します。
ファイル名を
./ijhttpコマンドに渡します。例:./ijhttp myrequest.http.httpファイルを使用してコンテナーを実行します。docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client run.httpこのコマンドは、ホストマシン上の現在の作業ディレクトリ (
$PWD) とコンテナー内のworkdirディレクトリの間にバインドマウントを作成します。
コマンド出力には、送信されたリクエスト、テストステータス、および 環境変数に関する情報が含まれています。

ログレベルの変更
デフォルトでは、HTTP クライアント CLI は、送信されたリクエストと環境変数に関する情報のみを出力します。 -L オプションを使用して、ログレベルを変更できます。
-L HEADERSを使用して、要求ヘッダーと応答ヘッダーに関する情報をログに記録します。または、
-L VERBOSEを使用して、要求と応答のヘッダーと本文に関する情報をログに記録します。
応答をファイルに保存
HTTP 応答を別のファイルに保存する場合は、
.httpファイルに>>または>>!を追加します (応答をリダイレクトする も参照してください)。 例:GET https://example.org/get >> myFolder/myFile.jsonHTTP クライアント CLI からの出力を保存する場合は、
戻り値のラップダイアログなどの標準ターミナルコマンドを使用します。 例:./ijhttp rest-api.http > yourFile.txt保存された HTTP クライアント CLI 出力の詳細レベルは、指定された ログレベルによって異なります。
Docker で localhost を解決する
ホストマシンでサーバーを実行していて、Docker コンテナーで HTTP 要求を実行する場合、 localhost をホストマシンのローカルホストに解決する必要がある場合があります。
-Dオプションを使用します。例:docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client -D run.http
このようにして、 localhost を対象としたリクエストがホストマシンのローカルホストに送信されます。
環境変数
IntelliJ IDEA HTTP クライアントと同様に、HTTP リクエストで 環境変数を使用できます。 HTTP 環境ファイルの変数を使用するか、変数値を CLI コマンドで直接渡すことができます。
パブリック環境変数を使用する
--env-fileオプションを使用して変数ファイルへのパスを指定し、--envオプションを使用して環境の名前を指定します。 例:./ijhttp --env-file http-client.env.json --env dev rest-api.httpまたは、
-Vオプションで変数値を渡します。 複数の変数を渡したい場合は、-Vオプションを繰り返します。ijhttp -V host=localhost:8080 -V planet=tatooine rest-api.http
両方のオプションを組み合わせることができます。
プライベート環境変数を使用する
--private-env-fileオプションを使用して変数ファイルへのパスを指定し、--envオプションを使用して環境の名前を指定します。 例:./ijhttp --private-env-file http-client.private.env.json --env dev rest-api.http-Pオプションで変数値を渡すこともできます。 複数の変数を渡したい場合は、-Pオプションを繰り返します。ijhttp -P password=mypassword123 -P user=johndoe rest-api.http
両方のオプションを組み合わせることができます。
テストリクエスト
HTTP クライアントプラグインと同様に、 .http ファイルには JavaScript ES6 で記述された 応答ハンドラースクリプトが含まれている場合があります。 これを使用して、 client.assert メソッドで HTTP リクエストをテストできます。
応答ハンドラースクリプトを使用する
.httpファイルで、リクエストから 1 行をスキップし、レスポンスハンドラースクリプトを> {% ... %}で囲みます。 例:GET https://httpbin.org/get > {% client.test("Test status code", function() { client.assert(response.status === 200, "Response status is not 200"); }); %}
別のファイルからテストを含めることもできます。 ファイルへのパスは、 .http ファイルに対して絶対パスまたは相対パスのいずれかです。
テストレポートを JUnit XML 形式で保存する
HTTP クライアントは、JUnit XML 形式で出力を提供できます。
--report引数をijhttpコマンドに追加します。例:./ijhttp test.http --report
HTTP クライアント CLI は、レポートを reports ディレクトリの report.xml ファイルに保存します。