JetClient は、JetBrains IDE (IntelliJ IDEA、GoLand、PyCharm、PhpStorm など) 用のシンプルで強力な API クライアント プラグインです。既存の API クライアントの最良の機能と追加の機能強化がすべて IDE 内で組み合わされます。主な機能は次のとおりです。
ファイル同期 (Git Sync) : リクエストとフォルダーを人間が判読できる形式でファイル システムに保存し、Git 経由でチームと簡単に共有およびコラボレーションできるようにします。
環境グループ: 環境グループを作成して、複数の環境を一度に選択します。たとえば、1 つのグループは (dev、test、prod) 用で、もう 1 つのグループは (user、admin) 用です。
便利な変数管理: 変数は JSON5 形式で定義され、共有 (同期) とローカル (非同期) の 2 つのエディターに編成されます。変数にはプリミティブ型だけでなく、オブジェクトや配列も含めることができます。
強力なスクリプト: リクエストとフォルダーの事前リクエストおよびテスト スクリプトを作成します。さらに、既存のリクエストを再利用できるテスト スイート スクリプトを作成すると、リクエストを複製する必要がなくなります。
ソース コードおよび OpenAPI との統合: API をソース コードから直接インポートし、リクエストと対応するコード間を簡単に移動したり、その逆を行ったりすることができます。
GraphQL サポート: 構文の強調表示とコード補完のために JetBrains の GraphQL プラグインとシームレスに統合します。
プラグインの機能については、JetClient プラグインのビデオをご覧ください。
プロジェクト
ファイル同期 (Git 同期)
環境
変数
スクリプト
クッキー
プロキシ
HTTP/2
輸入
貢献
プライバシー
プロジェクトは、フォルダーとリクエストで構成されるルート コレクションです。これには、独自の設定、環境、変数、および初期化スクリプトが含まれます。 JetClient のプロジェクトは IDE プロジェクトから独立しているため、単一の IDE プロジェクト内に複数の JetClient プロジェクトを含めることができます。
ファイル同期 (Git Sync) を使用すると、リクエスト コレクションをローカル ファイル システムに保存および復元できます。これにより、Git またはその他のバージョン管理システム (VCS) を介してチームとコレクションを簡単に共有できるようになります。
同期を有効にする:新しい JetClient プロジェクトを作成するとき、またはプロジェクト設定で同期をオンにします。
同期パスの設定:同期ファイルが保存されるディレクトリ パスを指定します。
保存または復元:プロジェクト ルートまたは特定のリクエスト/フォルダーを右クリックし、 Save All
またはSave
を選択して保存します。差分を復元または表示するには、同じコンテキスト メニューから対応するオプションを選択します。
特定のフォルダーを同期から除外するには、そのフォルダーのプロパティで同期を無効にします。この変更は、すべてのネストされたフォルダーにも適用されます。
環境を使用すると、さまざまなコンテキストに対してさまざまな変数セットを使用できます。これらは環境グループに編成されており、各グループから 1 つずつ複数の環境を同時に選択できます。
Default
環境グループは常に使用でき、通常はLocal
、 Staging
、 Production
などの環境が含まれます。 User
、 Client
、 Region
、 API Version
などの独自の環境グループを作成することもできます。
環境はプロジェクトごとに定義され、 Environments
タブで作成できます。これらの環境の変数は、 Variables
タブで設定されます。
JetClient の変数は、プロジェクト、フォルダー、ランタイムなどのさまざまなレベルで定義できます。
ランタイム変数:スクリプトで定義され、スクリプトの実行中にのみ使用できます。
プロジェクトとフォルダーの変数: JSON5 形式を使用して、プロジェクトまたはフォルダーの [ Variables
タブで定義されます。
変数エディターは、 SharedとLocal の2 つのセクションに分かれています。
シェア変数はプロジェクト/フォルダー同期ファイルに保存され、チームと共有できます。
ローカル変数はシステムに安全に保存され、同期ファイルには含まれません。
プロジェクト変数には、選択した環境に関係なくアクセスできる環境固有の変数とglobals
が含まれます。これらは、環境をトップレベルのプロパティとして持つ JSON オブジェクト内に編成されています。
{ グローバル: {baseUrl: 'https://api.example.com' }、 ローカル: {トークン: 'localToken' }、 開発: {トークン: 'devToken' }}
フォルダー変数には、一般変数と環境固有の変数の両方を含めることができます。一般変数は、選択した環境に関係なくアクセスできますが、環境固有の変数は、対応する環境が選択されている場合にのみ使用できます。
{ myFolderVar: 'myValue', dev: {myFolderVar: 'devValue' }}
JetClient の変数は、プリミティブ型、オブジェクト、配列にすることができ、スクリプト、リクエスト、フォルダーで使用できます。任意のフィールドで変数を使用するには、変数を二重中括弧で囲みます: {{myVar}}
。たとえばリクエストの本文で、 {{myRequestBody}}
を使用して、オブジェクトまたは配列全体を参照できます。
以下の例に示すように、変数は他の変数を参照することもできます。
{ 配列: [{ myProperty: 123} ]、 // この変数は文字列「123」に解決されます myVar: '{{array[0].myProperty}}', // この変数は番号 123 に解決されます myVar2: {{array[0].myProperty}}}
変数は、優先度が最も高いものから最も低いものまで、次の順序で解決されます。
ランタイム変数
環境固有のローカル フォルダー変数
環境固有の共有フォルダー変数
ローカルフォルダー変数
共有フォルダー変数
すべての親フォルダーの変数
環境変数
グローバル
JetClient のリクエストとフォルダーには JavaScript で書かれたリクエスト前スクリプトとテストスクリプトを含めることができますが、テスト スイートにはテストスクリプトのみが含まれます。プロジェクトには、実行ごとに 1 回実行されるInit スクリプトが含まれており、これを使用してグローバル関数と変数を定義できます。例えば:
CryptoJS = require("crypto-js");hmacSHA256 = (message) => {return CryptoJS.HmacSHA256(message, jc.environment.get('secret')).toString();}
これで、事前リクエストおよびテスト スクリプトでCryptoJS
とhmacSHA256
使用できるようになります。
リクエストを送信するとき、またはランナーでフォルダーを実行するときに、スクリプトは次の順序で実行されます。
プロジェクトの初期化スクリプト(実行ごとに 1 回実行)
すべての親フォルダー (ルートから現在のフォルダーまで) の事前リクエスト スクリプト
リクエストの事前リクエストスクリプト
すべての親フォルダー (ルートから現在のフォルダーまで) のスクリプトをテストします。
リクエストのテストスクリプト
実行中のリクエストごとにステップ 2 ~ 5 が繰り返されます。
テスト スイートの場合、スクリプトは次の順序で実行されます。
プロジェクトの初期化スクリプト
テストスイートのテストスクリプト
jc.runRequest
、 jc.runFolder
、またはjc.runTestSuite
からのスクリプトは、リクエスト、フォルダー、およびテスト スイートの場合と同じ実行順序に従います。
JetClient 組み込みライブラリは Postman のものに似ていますが、 pm
の代わりにjc
と呼ばれます。例えば、
jc.test("ステータス コードは 200", () => {jc.expect(jc.response.code).to.eql(200)})
JetClient スクリプトは Chai アサーション ライブラリ BDD を利用できます。詳細については、JetClient ライブラリのドキュメントを参照してください。また、タイプの定義については、「JetClient ライブラリのタイプ」を参照してください。
JetClient には、 ajv
、 atob
、 btoa
、 chai
、 cheerio
、 crypto-js
、 csv-parse/lib/sync
、 lodash
、 moment
、 tv4
、 uuid
、 xml2js
などの組み込みライブラリが含まれており、 require
関数を使用してインポートできます。さらに、独自のライブラリをスクリプトに追加できます。 Settings > Tools > JetClient
に移動し、 Libraries directory
を設定します。 npm ライブラリを使用している場合は、 package.json
とnode_modules
含むディレクトリを指定します。それ以外の場合は、スクリプト ライブラリが配置されているディレクトリを使用します。その後、require を使用してライブラリをインポートできます。
Cookies Manager
使用して Cookie を管理します。これを開くには、ツール ウィンドウのツールバーにあるCookies Manager
をクリックします。
プロキシは、IDE プロキシ設定を使用してサポートされます。
HTTP/2
プロトコルを使用してリクエストを送信するには、 Settings > Tools > JetClient > HTTP Version
でHTTP/2
オプションを選択してください。
JetClient は、さまざまなソースからのコレクションのインポートをサポートしています。
JetClient プロジェクト
春
JAX-RS
後付け
OpenAPI (Swagger)
カール
郵便屋さん
cURL リクエストをインポートするには、cURL コマンドをコピーしてリクエストの URL フィールドに貼り付けるだけです。
ドキュメントを改善したい場合は、PR を送信してください。
製品をさらに改善するための提案。
オフラインのみ: JetClient はオフライン専用のプラグインであり、データは収集しません。
安全なストレージ:ローカル変数、Cookie、OAuth2 トークンはシステムに安全に保管されます。これには、Windows での KeePass、macOS でのキーチェーン、Linux での libsecret の使用が含まれます。
クラウド同期なし:バックエンドまたはクラウド同期はありません。機密データはシステムに安全に保存されます。その他のデータは、プロジェクトの.idea/JetClient
ディレクトリと、同期が有効な場合は JetClient 同期ファイルに保存されます。