Space からペイロードを受信する
一部の種類のアプリケーションでは、Space はクライアントとして機能し、内部に JSON ペイロードを含む POST リクエストをアプリケーションエンドポイントに送信します。例: ユーザーがアプリケーションチャットチャネルに入力すると、Space はユーザー入力を含むペイロードを送信します。アプリケーションが Webhook 通知をサブスクライブしている場合、Space はイベントの詳細などを含むペイロードを送信します。
ペイロードの内容
ペイロードは、ペイロードクラスの名前、クラス固有のペイロードデータ、およびすべてのペイロードタイプに共通のデータ (Space URL、ユーザー ID など) で構成されます。
例: これは、ユーザーが help
コマンドをチャットボットに送信するときの Space からのサンプルペイロードです。
ペイロードの種類
さまざまな種類のペイロードの処理を支援するために、Space SDK には多数のクラスが用意されています。これらすべてのクラスは ApplicationPayload
インターフェースを実装します。
クラス | 説明 | 関連 |
---|---|---|
JetBrains マーケットプレイスは、アプリケーションの検証中にこのペイロードを送信します。 | JetBrains マーケットプレイスを通じて配布される複数組織アプリケーション。 | |
Space インスタンスは、アプリケーションがこのインスタンスからアンインストールされるときに、このペイロードを送信します。 | リンクまたは JetBrains マーケットプレイスを通じて配布される複数組織アプリケーション。 | |
JetBrains Marketplace からインストールされたアプリケーションを初期化します。 | リンクまたは JetBrains マーケットプレイスを通じて配布される複数組織アプリケーション。 | |
使用可能なコマンドのリストを要求します。ユーザーがアプリケーションチャットチャネルでスラッシュ | チャットボット、スラッシュコマンド。 | |
ユーザーが選択したカスタムメニュー項目に関する情報が含まれます。 | カスタム項目を使用して Space コンテキストメニューを拡張するアプリケーション。 | |
ユーザーがチャットチャネルからアプリケーションに送信したメッセージが含まれます。 | チャットボット、スラッシュコマンド。 | |
アプリケーションチャットチャネルでユーザーによって実行されたアクションに関する情報が含まれます。通常、これは、ボタンのクリックなど、チャットメッセージ内の UI コントロールとのユーザー操作の結果です。 | チャットボット、スラッシュコマンド。 | |
Space で発生したイベントに関する情報が含まれています。アプリケーションは、対応する Webhook を使用してこのイベントにサブスクライブする必要があります。 | Webhook を使用して Space イベントに関する通知を受信するアプリケーション。 |
ペイロードの読み取り
ペイロードの処理を支援するために、Space SDK は Space
ヘルパーオブジェクトを提供します。これは、タイプに応じてペイロードを処理するために使用できる方法です。例: Ktor(英語) アプリケーションの場合:
より一般的なアプローチでは、ペイロードの処理に readPayload(body: String): ApplicationPayload
SDK ヘルパー関数のみを使用できます。
共通ペイロードデータ
タイプに関係なく、Space から送信されるペイロードには常に、ユーザー ID、サーバー URL などの共通情報が含まれています。このデータの取得を支援するために、Space SDK は ApplicationPayload
インターフェース用の拡張メソッドを多数提供しています。
関連ページ:
複数組織アプリケーションの配布
マルチ組織アプリケーションは、複数の Space 組織にインストールできるアプリケーションです。組織ユーザーは、直接リンクをクリックするか、JetBrains マーケットプレイスを使用してアプリケーションをインストールできます。アプリケーションを複数の組織で使用できるようにするには、Space API 呼び出しを介して特定の組織内でアプリケーション自体を構成できる必要があります。アプリケーション構成の詳細については、こちらを参照します。複数組織アプリケーションの詳細:クライアントクレデンシャル...
チャットメッセージ
チュートリアル (Kotlin) チャットボットの作成方法、(.NET) チャットボットの作成方法、(Kotlin) インタラクティブ UI をメッセージに追加する方法、サンプル Kotlin で書かれたシンプルなチャットボット、C# で書かれたシンプルなチャットボット、アプリケーション (チャットボットなど) は、アプリケーションチャットチャネルを通じて Space ユーザーと対話できます。アプリケーションチャットチャネルでは、Space ユーザーは次のことができます。アプリケーションコマンドのリ...
カスタムメニュー項目
サンプルカスタムメニュー項目を課題コンテキストメニューに追加するサンプルアプリケーション、アプリケーションは、Space のコンテキストメニューにカスタムメニュー項目を追加できます。ユーザーがカスタム項目をクリックすると、Space はアプリケーションにメッセージを送信します。メッセージには、タイプのペイロードが含まれています。カスタムメニュー項目を追加できる場所:現在、次の Space エンティティのコンテキストメニューはカスタム項目で拡張できます。課題、チャットメッセージ、コードレビュー、...
Web フック
サンプル Space Webhook を使用するサンプルアプリケーション、Webhook を使用すると、アプリケーションは Space のイベントに関する通知を受信できるようになります。イベントがトリガーされると、Space は指定されたアプリケーションエンドポイントに POST リクエストを送信します。リクエストには、イベントの詳細を含む JSON ペイロードが含まれています。Space では、Webhook はアプリケーションの不可欠な部分です。各アプリケーションは、独自の構成済み Webho...
Space からのリクエストを検証する
アプリケーションが Space からリクエストを受信することになっている場合 (たとえば、エンドポイントでリクエストをリッスンするチャットボット)、受信したリクエストが本物かどうかを検証できる必要があります。Space では、さまざまな検証方法が提供されます。(推奨) 公開鍵、署名キー、(廃止された) 検証トークン、SSL クライアント証明書、HTTP 認証、(推奨) 公開鍵:この検証方法は非対称暗号化に基づいています。最も安全なものとして使用することをお勧めします。Space SDK は、こ...