カスタムメニュー項目
アプリケーションは、Space のコンテキストメニューにカスタムメニュー項目を追加できます。ユーザーがカスタム項目をクリックすると、Space はアプリケーションにメッセージを送信します。メッセージには、MenuActionPayload
タイプのペイロードが含まれています。

カスタムメニュー項目を追加できる場所
現在、次の Space エンティティのコンテキストメニューはカスタム項目で拡張できます。
課題
チャットメッセージ
コードレビュー
文書
ドキュメントフォルダー
会議
カスタムメニュー項目を追加する
カスタムメニュー項目を追加するには、アプリケーションは setUiExtensions
API 呼び出しを行う必要があります。例: これは、課題のコンテキストメニューに項目を追加する方法です。
可能な拡張子のリストについては、API Playground の Set UI Extensions
メソッドを参照してください。メソッドの呼び出し方法の詳細については、サンプルアプリケーション(英語)を参照してください。
追加されたメニュー項目は、Space のアプリケーションのページ、つまり許可タブに表示されます。

Space ユーザーのカスタムメニュー項目を有効にする
アプリケーションのインストール直後は、アプリケーション所有者 (アプリケーションをインストールしたユーザー) に対してのみメニュー項目が有効になります。すべての Space ユーザーは、アプリケーションの許可タブで自分自身のメニュー項目を有効 / 無効にすることができます。アプリケーションを作成するときは、必要なコンテキストでメニュー項目を有効にする方法についての手順を必ずユーザーに提供してください (将来的には、この設定の見つけやすさを改善する予定です)。
システム管理者ロールを持つ管理者は、Space 組織内のすべてのユーザーのメニュー項目を有効にすることができます。これを行うには、すべてのユーザーに対してデフォルトで有効になっていますをオンにします。
プロジェクトまたはチャネル管理者は、対応するプロジェクトまたはチャネルの項目を有効にすることができます。
インコンテキスト認証では、プロジェクトで承認またはチャネルで承認するボタンを使用して、必要なコンテキストでアプリケーションを承認します。
プロジェクトまたはチャネルの認証設定を開き、拡張機能を有効にします。
メニュー項目のクリックを処理する
1. ハンドル MenuActionPayload
ユーザーがカスタムメニュー項目をクリックすると、Space は MenuActionPayload
ペイロードをアプリケーションに送信します。アプリケーションは AppUserActionExecutionResult
で応答する必要があります。
AppUserActionExecutionResult.Success
– アクションは正常に実行されました。AppUserActionExecutionResult.Failure
– アクションの実行に失敗しました。AppUserActionExecutionResult.AuthCodeFlowRequired
– このアクションにはユーザーに代わって承認が必要ですが、アプリケーションにはまだ承認トークンがありません。詳細については、次のステップを参照してください。
例:
アクションが成功した場合は、次の JSON ペイロードで応答します。
失敗した場合:
ユーザー権限が必要な場合、アプリケーションは AppUserActionExecutionResult.AuthCodeFlowRequired
で応答し、この応答で権限を要求する必要があります。詳細については、次のステップを参照してください。
2. ユーザーの同意を得る
この時点で、アプリケーションは、それ自体またはユーザーに代わって Space でアクションを実行できます。ユーザーに代わってアクションを実行するには、アプリケーションは最初にユーザーの同意を得る必要があります ( 権限について詳しくは、こちらを参照してください )。同意を得るには、アプリケーションは AppUserActionExecutionResult.AuthCodeFlowRequired
で MenuActionPayload
に応答する必要があります。
AuthCodeFlowRequired
は、必要なアクセス許可を要求するアプリケーションの応答です。以下の例は、プロジェクトの詳細を表示するためのグローバル権限と、課題を表示および更新するためのプロジェクト権限 (MY-PRJ
プロジェクトの場合) を要求する応答内の JSON ペイロードを示しています。
3. ユーザーアクセストークンを保存する
Space が許可リクエストを受信すると、ユーザーに同意ダイアログが表示されます。

同意すると、Space はアプリケーションに RefreshTokenPayload
を送信します。リフレッシュトークンを使用すると、アプリケーションはユーザーに代わって時間制限なしで (またはユーザーが承認を取り消すまで) Space にアクセスできます。リフレッシュトークンを保存するには:
4. アクションコンテキストを取得してアクションを実行する
アプリケーションがリフレッシュトークンを正常に取得した後 (Space は HTTP 200 OK を受信)、Space はもう一度 MenuActionPayload
を送信します。これは、ユーザーがメニュー項目を 2 回目にクリックする必要をなくすために行われます。今回は、アプリケーションはリフレッシュトークンを使用して必要なアクションを実行できます。
MenuActionPayload
にはコンテキスト、つまりメニュー項目が呼び出されたオブジェクトが含まれています。例: アプリケーションが課題のコンテキストメニューを拡張していることがわかっているため、コンテキストは IssueMenuActionContext
であり、対応する課題に関するデータが含まれている必要があります。コンテキストを使用して、課題の更新などのアクションを実行できます。
関連ページ:

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

権限のリクエスト
特定の Space エンドポイントにアクセスするには、アプリケーションはまず対応するアクセス許可を取得する必要があります。例: アプリケーションがプロジェクトの課題を作成する場合、アプリケーションには課題の作成権限が必要です。課題の詳細を表示するには、課題を表示する権限が必要です。アプリケーションに必要な権限のセット全体は、権限スコープと呼ばれます。アプリケーションがアクセス許可を要求する方法は、アプリケーション自体の代わりに動作するアプリケーションと、Space ユーザーの代わりに動作するアプ...

はじめにページ
複数組織アプリケーションでは、ユーザーを「はじめに」ページにリダイレクトできます。このページには、アプリケーション、その機能、使用方法に関する情報を含めることができます。アプリケーションのインストール後、ダイアログにはユーザーをオンラインドキュメントページにリダイレクトするボタンが含まれます。アプリケーション開発者は、ボタンのテキストとページの URL をカスタマイズできます。カスタムメニュー項目を追加するには、アプリケーションは API 呼び出しを行う必要があります。例:// The URL o...

チャットメッセージ
チュートリアル (Kotlin) チャットボットの作成方法、(.NET) チャットボットの作成方法、(Kotlin) インタラクティブ UI をメッセージに追加する方法、サンプル Kotlin で書かれたシンプルなチャットボット、C# で書かれたシンプルなチャットボット、アプリケーション (チャットボットなど) は、アプリケーションチャットチャネルを通じて Space ユーザーと対話できます。アプリケーションチャットチャネルでは、Space ユーザーは次のことができます。アプリケーションコマンドのリ...