JetBrains Space ヘルプ

アプリケーションの開発

アプリケーションは、Space の機能を拡張する主な方法です。アプリケーションは、以下を通じて Space と対話できる外部サーバー側サービスまたはクライアント側プログラム (JavaScript、デスクトップ、モバイル) です。

Space とアプリケーション間のインタラクション

空間とアプリケーションは双方向で通信できます。

  • アプリケーションはデータを Space に送信できます。例: チャットチャネルにメッセージを送信し、プロジェクトやチームメンバーなどの Space エンティティに関するデータをリクエストします。

  • Space はアプリケーションにデータを送信できます。例: Webhook 経由でイベントに関する通知を送信したり、ユーザーメッセージを送信したりするなど。

Space ユーザーは、いくつかの方法でアプリケーションを操作できます。

  • チャットメッセージをアプリケーション (チャットボットなど) に送信します。

    Slash commands

  • アプリケーションから受信したチャットメッセージ内のボタンをクリックします。

    Chatbot application

  • アプリケーションによって提供されるリンクのボタンをクリックします。

    Buttons in unfurls

  • アプリケーションによって特定の Space エンティティに追加されたカスタムメニュー項目をクリックします。

    Custom menu application

  • iframe を介してアプリケーションのユーザーインターフェースと対話します。

    Application homepage

  • 静的 Web ページ (完全にクライアントブラウザーで実行) から Space と対話します。

アプリケーションのホスティング

現在のところ、唯一の選択肢はアプリケーションを独自のサーバーでホストすることです。将来的には、アプリケーションを Space 内で直接ホストできるようになるでしょう。

認証と認可

Space へのすべてのリクエストは、承認された呼び出し元から送信される必要があります。Space にリクエストを送信するには、アプリケーションはまずアクセストークンを取得する必要があります。これを行う最も安全な方法は、OAuth 2.0 認証フローのいずれかを使用することです。ただし、アプリケーションに永久トークンを提供することもできます。詳細

分布

アプリケーションには、配布方法に応じて 2 つのタイプがあります。

  • 単一組織アプリケーション

    これらは、特定の (通常は自分自身の) Space 組織のみを対象としたアプリケーションです。このようなアプリケーションをインストールするには、Space に手動で登録する必要があります。アプリケーションを登録するときは、認証方法、アプリケーションのエンドポイント、必要な権限など、必要なデータをすべて指定します。

  • 複数組織のアプリケーション

    これらのアプリケーションは公共ディストリビューションを目的としており、複数の Space 組織にインストールできます。

    このようなアプリケーションを配布するには、インストールリンク経由または JetBrains マーケットプレイス経由の 2 つの方法があります。ユーザーがアプリケーションをインストールすると、Space はアプリケーションのエンドポイントに InitPayload を送信します。InitPayload を受信すると、アプリケーションは Space のアクセス資格情報を持つ新しい Space 組織を保存します。次に、API 呼び出しを通じて Space 内で自身を構成します (たとえば、アクセス許可を要求し、Webhook を作成します)。

Space HTTP API

Space HTTP API は、アプリケーションが Space と通信するための主要かつ唯一の方法です。Space エンドポイントに HTTP 呼び出しを行うことで、チーム、チャット、プロジェクト、課題、パッケージなどのあらゆる Space モジュールにアクセスできます。

API を探索する最良の方法は、API Playground を使用することです。

API Playground

Space SDK

Space アプリケーションは、任意の言語またはフレームワークを使用して開発できます。ただし、Kotlin または .NET で記述する場合は、Space SDK を使用することをお勧めします。SDK を使用すると、承認、API メソッドの呼び出しなど、すべての一般的なタスクを実行できます。また、Ktor サーバー(英語)の追加サポートも提供され、アプリケーションでの Space からのリクエストの処理が容易になります。

API Playground は、Space SDK のコードスニペットを生成できます。

SDK snippet

サンプルアプリケーション

開始しやすいように、パブリック GitHub リポジトリ(英語)で多数のサンプルアプリケーションを提供しています。

JetBrains プラットフォーム Slack コミュニティ

JetBrains プラットフォーム Slack コミュニティ(英語)は、他の開発者や JetBrains 社員と会話できる場所です。招待状を受け取る(英語)

関連ページ:

Space SDK

Space SDK は、JetBrains Space HTTP API を操作できるようにし、Space アプリケーションの開発を簡素化するライブラリです。クイックスタート:1. プロジェクト内の Space SDK を参照する次の依存関係をプロジェクトの / ファイルに追加します。// the example is given for build.gradle.kts repositories { // here go other project repos ... maven("https:...

Space HTTP API

Space HTTP API を使用すると、チャット、チームディレクトリ、プロジェクト、ドキュメント、パッケージなどの任意の Space モジュールにプログラムでアクセスできます。特定の API リクエストの実行の詳細については、API 参照を参照するか、API Playground(下記を参照) を使用してください。HTTP API をすぐに使い始めるには、Space SDK を使用します。API Playground:API Playground を使用すると、次のことが可能になります。Spac...

Space での認証

Space のセキュリティは、アクセストークン、つまり API リクエストの認証に使用されるシークレットに基づいています。Space と通信するには、アプリケーションはまずアクセストークンを取得する必要があります。その後、このトークンを使用してリクエストを Space に送信できます。例:GET https://mycompany.jetbrains.space/api/http/absences Authorization: Bearer <here-goes-access-token&...

単一組織アプリケーションの登録

アプリケーションの登録は、単一組織アプリケーションを Space インスタンスにインストールする主な方法です。アプリケーションを登録するときは、認可フロー、必要な権限、アプリケーションのエンドポイントなどの設定を手動で指定します。アプリケーションを Space インスタンスに追加する:メインメニューで、「拡張」をクリックし、「インストール済み」を選択します。新しいアプリをクリックします。指定: ユニークなアプリケーション名前。アプリケーションメール。アプリケーションが Space リポジトリにコ...

複数組織アプリケーションの配布

マルチ組織アプリケーションは、複数の Space 組織にインストールできるアプリケーションです。組織ユーザーは、直接リンクをクリックするか、JetBrains マーケットプレイスを使用してアプリケーションをインストールできます。アプリケーションを複数の組織で使用できるようにするには、Space API 呼び出しを介して特定の組織内でアプリケーション自体を構成できる必要があります。アプリケーション構成の詳細については、こちらを参照してください。複数組織アプリケーションの詳細:クライアントクレデン...

アプリケーションのインストール

Space アプリケーションは、JetBrains マーケットプレイスと直接リンクという 2 つの主なソースを通じて配布されます。JetBrains マーケットプレイスからアプリケーションをインストールする:メインメニューで、拡張をクリックし、マーケットプレースを選択します。目的のアプリケーションを見つけて、「インストール」をクリックします。アプリケーションのインストールウィンドウが表示されます。アプリケーションのインストールウィンドウで、「インストール」をクリックします。この後、Space...