HTTP クライアント CLI
DataGrip プラグインに加えて、HTTP クライアントも CLI ツールとして利用できます。 これにより、IDE を使用せずにターミナルから HTTP リクエストを実行したり、CI ワークフローに HTTP リクエストのテストを含めたりすることができます。
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 を対象としたリクエストがホストマシンのローカルホストに送信されます。
環境変数
DataGrip 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 は、レポートを レポート ディレクトリの report.xml蔵 ファイルに保存します。