Google Chat、Vertex AI、Firestore でプロジェクトを管理する

このチュートリアルでは、チームがプロジェクトをリアルタイムで管理するために使用できる Google Chat アプリを作成する方法について説明します。Chat アプリでは、Vertex AI を使用して、チームがユーザー ストーリー(開発するユーザーの視点からソフトウェア システムの機能を表す)を作成し、そのストーリーを Firestore データベースに保存します。

  • プロジェクト管理アプリについて言及すると、ヘルプを求めるメッセージが表示されます。
    図 1: チャーリーさんが Chat スペースの機能開発についてチームと話し合います。プロジェクト管理の Chat アプリについてメンションすると、Chat アプリにヘルプを求めるメッセージが表示されます。
  • /createUserStory スラッシュ コマンドを使用してストーリーを作成する。
    図 2./createUserStory スラッシュ コマンドでストーリーを作成します。
  • プロジェクト管理の Chat アプリは、Vertex AI を使用して事例の説明を作成します。
    図 3.プロジェクト管理の Chat アプリは、Vertex AI を使用して事例の説明を作成し、スペースで事例を共有します。
  • チャーリーさんはストーリーの詳細をまとめます。
    図 4.[編集] をクリックして事例の詳細を確定します。AI の説明は正確ですが、チャーリーさんはより詳細な情報を求めているため、[開く] をクリックして Vertex AI に事例の説明に要件を追加させます。チャーリーさんは自分自身に事例を割り当て、ステータスを「開始」に設定し、適切な優先度とサイズを選択して、[保存] をクリックします。
  • チームのすべてのユーザー ストーリーを管理する。
    図 5./manageUserStories スラッシュ コマンドを使用すると、チームのすべてのユーザー ストーリーをいつでも表示、管理できます。

前提条件

目標

  • アジャイルなソフトウェア プロジェクトを管理する Chat アプリを構築します。
  • Vertex AI を活用した生成 AI 支援型の文章作成ツールを使用して、ユーザーがユーザー ストーリーを作成できるように支援します。
    • 事例の説明を生成、再生成する。
    • メモから事例の説明を展開して、要件を満たすようにします。
    • 文法を修正して誤字脱字を訂正します。
  • Firestore データベースに対して書き込みと読み取りを行うことで、作業を最新の状態に保ちます。
  • ユーザーが会話から直接ストーリーを作成、編集、割り当て、開始できるようにすることで、Chat スペースでのコラボレーションが促進されます。

使用するプロダクト

プロジェクト管理アプリは、次の Google Workspace プロダクトと Google Cloud プロダクトを使用します。

  • Chat API: メッセージなどのチャット操作イベントを受信して応答する Google Chat アプリを開発するための API。プロジェクト管理の Google Chat アプリは、Chat API を使用して、Chat から送信されたインタラクション イベントを受信して応答し、Chat での表示を決定する属性(名前やアバター画像など)を構成します。
  • Vertex AI API: 生成 AI プラットフォーム。プロジェクト管理用の Google Chat アプリは、Vertex AI API を使用してユーザー ストーリーのタイトルと説明を作成します。
  • Firestore: サーバーレスのドキュメント データベース。プロジェクト管理用の Google Chat アプリは、Firebase を使用してユーザー ストーリーに関するデータを保存します。
  • Cloud Functions: サーバーやランタイム環境を管理せずに、Chat インタラクション イベントに応答できる単一目的のスタンドアロン関数を作成できる軽量のサーバーレス コンピューティング サービス。プロジェクト管理の Google Chat アプリは、Cloud Functions を使用して、Chat がインタラクション イベントをコンピューティング プラットフォームに送信して、それらのイベントを処理して応答するロジックを実行する HTTP エンドポイントをホストします。

    Cloud Functions は、次の Google Cloud プロダクトを使用してインタラクション イベントの構築と処理を行い、コンピューティング リソースをホストします。

    • Cloud Build: 自動ビルドを実行するフルマネージドの継続的インテグレーション、デリバリー、デプロイ プラットフォーム。
    • Pub/Sub: メッセージを生成するサービスとメッセージを処理するサービスを切り離す、非同期でスケーラブルなメッセージング サービス。
    • Cloud Run Admin API: コンテナ化アプリを実行するためのフルマネージド環境。

アーキテクチャ

プロジェクト管理の Google Chat アプリのアーキテクチャでは、HTTP エンドポイントでチャット操作イベントを受信して処理し、Vertex AI を使用してユーザー ストーリーを作成し、ユーザー ストーリーの詳細を Firestore データベースに保存します。次の図は、使用される Google Workspace リソースと Google Cloud リソースのアーキテクチャを示しています。

プロジェクト管理 Google Chat アプリのアーキテクチャ図

プロジェクト管理の Google Chat アプリは、次のように動作します。

  1. ユーザーが Chat でメッセージを送信し、プロジェクト管理の Google Chat アプリを呼び出す(直接メッセージを送信するか、スペースで名前リンクを付けるか、スラッシュ コマンドを入力します)。

  2. Chat は、Cloud Functions の関数の HTTP エンドポイントに同期 HTTP リクエストを送信します。

  3. プロジェクト管理の Google Chat アプリが HTTP リクエストを処理します。

    1. Vertex AI は、ユーザー ストーリーの作成や更新に役立ちます。

    2. Firestore データベースは、ユーザー ストーリー データの保存、取得、更新、削除を行います。

  4. Cloud Functions が Chat に HTTP レスポンスを返し、メッセージまたはダイアログとしてユーザーに表示されます。

環境を準備する

このセクションでは、Chat アプリ用の Google Cloud プロジェクトを作成して構成する方法について説明します。

Google Cloud プロジェクトを作成する

Google Cloud コンソール

  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [プロジェクトを作成] に移動します。

    [プロジェクトの作成] に移動

  2. [プロジェクト名] フィールドに、プロジェクトのわかりやすい名前を入力します。

    省略可: プロジェクト ID を編集するには、[編集] をクリックします。プロジェクトの作成後にプロジェクト ID を変更することはできません。プロジェクトの存続期間に応じて、ニーズに合った ID を選択してください。

  3. [ロケーション] フィールドで [参照] をクリックして、プロジェクトの潜在的なロケーションを表示します。[選択] をクリックします。
  4. [作成] をクリックします。Google Cloud コンソールが [ダッシュボード] ページに移動し、数分以内にプロジェクトが作成されます。

gcloud CLI

次のいずれかの開発環境で、Google Cloud CLI(「gcloud」)にアクセスします。

  • Cloud Shell: gcloud CLI がすでに設定されているオンライン ターミナルを使用するには、Cloud Shell をアクティブにします。
    Cloud Shell をアクティブにする
  • ローカルシェル: ローカル開発環境を使用するには、gcloud CLI をインストールしてinitializeします。
    Cloud プロジェクトを作成するには、gcloud projects create コマンドを使用します。
    gcloud projects create PROJECT_ID
    PROJECT_ID は、作成するプロジェクトの ID を設定して置き換えます。

Cloud プロジェクトの課金を有効にする

Google Cloud コンソール

  1. Google Cloud コンソールで、[お支払い] に移動します。メニュー アイコン > [お支払い] > [マイ プロジェクト] をクリックします。

    [マイ プロジェクトの課金] に移動

  2. [組織を選択] で、Google Cloud プロジェクトに関連付けられた組織を選択します。
  3. プロジェクトの行で [アクション] メニュー()を開き、[お支払い情報を変更] をクリックして、Cloud 請求先アカウントを選択します。
  4. [アカウントを設定] をクリックします。

gcloud CLI

  1. 使用可能な請求先アカウントを一覧表示するには、次のコマンドを実行します。
    gcloud billing accounts list
  2. 請求先アカウントを Google Cloud プロジェクトにリンクします。
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    次のように置き換えます。

    • PROJECT_ID は、課金を有効にする Cloud プロジェクトのプロジェクト ID です。
    • BILLING_ACCOUNT_ID は、Google Cloud プロジェクトにリンクする請求先アカウント ID です。

API を有効にする

Google Cloud コンソール

  1. Google Cloud コンソールで、Google Chat API、Vertex AI API、Cloud Functions API、Firestore API、Cloud Build API、Pub/Sub API、Cloud Run Admin API を有効にします。

    API を有効にする

  2. 正しい Cloud プロジェクトで API が有効になっていることを確認し、[次へ] をクリックします。

  3. 正しい API が有効になっていることを確認し、[有効にする] をクリックします。

gcloud CLI

  1. 必要に応じて、現在の Cloud プロジェクトを gcloud config set project コマンドで作成したプロジェクトに設定します。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、作成した Cloud プロジェクトのプロジェクト ID に置き換えます。

  2. gcloud services enable コマンドを使用して、Google Chat API、Vertex AI API、Cloud Functions API、Firestore API、Cloud Build API、Pub/Sub API、Cloud Run Admin API を有効にします。

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    run.googleapis.com
    

    Cloud Build、Pub/Sub、Cloud Run Admin API は、Cloud Functions の前提条件です。

認証と認可

このチュートリアルの手順では、認証と認可の構成は必要ありません。

Firestore API と Vertex AI API を呼び出すために、このチュートリアルではアプリケーションのデフォルト認証情報を使用します。デフォルトのサービス アカウントは Cloud Functions の関数に関連付けられたため、設定する必要はありません。本番環境のコンテキストでは、通常、サービス アカウントを作成して Cloud Functions の関数に接続します。

Google Chat アプリを作成してデプロイする

Google Cloud プロジェクトの作成と構成が完了したので、Google Chat アプリをビルドしてデプロイする準備ができました。このセクションでは、次のことを行います。

  1. ユーザーストーリーの保持と取得を行う Firestore データベースを作成する。
  2. 必要に応じて、サンプルコードを確認します。
  3. Chat から HTTP リクエストとして受信したイベントに応答して、Chat アプリのコードをホストして実行する Cloud Functions の関数を作成します。
  4. Google Chat API の構成ページで、Google Chat アプリを作成してデプロイします。

Firestore データベースを作成する

このセクションでは、ユーザー ストーリーの保持と取得を行う Firestore データベースを作成しますが、データモデルは定義しません。データモデルは、model/user-story.js ファイルと model/user.js ファイルによってサンプルコードで暗黙的に設定されます。

プロジェクト管理の Chat アプリのデータベースは、 コレクションに編成された ドキュメントに基づく NoSQL データモデルを使用します。詳細については、Firestore データモデルをご覧ください。

次の図は、プロジェクト管理 Google Chat アプリのデータモデルの概要を示しています。

Firestore データベースのデータモデル。

ルート コレクションは spaces です。各ドキュメントは、Chat アプリがストーリーを作成したスペースを表します。各ユーザー ストーリーは userStories サブコレクションのドキュメントで表され、各ユーザーは users サブコレクションのドキュメントで表されます。

コレクション、ドキュメント、フィールドの定義を表示する

spaces

Chat アプリがストーリーを作成したスペース。

フィールド
Document IDString
ストーリーが作成される特定のスペースの一意の ID。Chat API のスペースのリソース名に対応します。
userStoriesSubcollection of Documents (userStories)
Chat アプリとそのユーザーが作成したストーリー。Firebase の userStoriesDocument ID に対応します。
usersSubcollection of Documents (user)
ストーリーを作成したユーザー、またはストーリーを割り当てられたユーザー。
displayNameString
Chat API でのスペースの表示名。ユーザーとのダイレクト メッセージでは設定されません。

userStories

Chat アプリとそのユーザーが作成したストーリー。

フィールド
Document IDString
Chat アプリとそのユーザーが作成した特定のユーザー ストーリーの一意の ID。
assigneeDocument (user)
ストーリーを完了するために割り当てられたユーザーのリソース名。users ドキュメントの Document ID と Chat API のユーザーのリソース名に対応します。
descriptionString
ユーザーの視点から見たソフトウェア機能の説明。
priorityEnum
作業を完了する緊急度。有効な値は LowMediumHigh です。
sizeEnum
作業量。有効な値は SmallMediumLarge です。
statusEnum
作業のフェーズ。有効な値は OPENSTARTEDCOMPLETED です。
titleString
ストーリーのタイトル(簡単な要約)。

users

ストーリーを作成したユーザー、またはストーリーを割り当てられたユーザー。

フィールド
Document IDString
特定のユーザーの一意の ID。Firebase では userStoriesassignee、Chat API ではユーザーのリソース名に対応します。
avatarUrlString
ユーザーの Chat アバター画像をホストする URL。
displayNameString
ユーザーの Chat の表示名。

Firestore データベースを作成する方法は次のとおりです。

Google Cloud コンソール

  1. Google Cloud コンソールで [Firestore] に移動します。メニュー アイコン > [Firestore] をクリックします。

    Firestore に移動

  2. [データベースを作成] をクリックします。

  3. [Firestore モードの選択] で、[ネイティブ モード] をクリックします。

  4. [続行] をクリックします。

  5. データベースを構成します。

    1. [データベースの命名] で、[データベース ID] を (default) のままにします。

    2. [ロケーション タイプ] で、データベースのリージョン(us-central1 など)を指定します。最適なパフォーマンスを得るには、Chat アプリの Cloud Functions の関数と同じまたは近くのロケーションを選択します。

  6. [データベースを作成] をクリックします。

gcloud CLI

  • gcloud firestore databases create コマンドを使用して、ネイティブ モードで Firestore データベースを作成します。

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native
    

    LOCATION は、Firestore リージョンの名前(us-central1 など)に置き換えます。

サンプルコードを確認する

必要に応じて、Cloud Functions の関数を作成する前に、GitHub でホストされているサンプルコードを確認し、よく理解しておいてください。

GitHub で表示

各ファイルの概要は次のとおりです。

env.js
指定した Google Cloud プロジェクトとリージョンに Chat アプリをデプロイするための環境変数。このファイルの構成変数を更新する必要があります。
package.jsonpackage-lock.json
Node.js プロジェクトの設定と依存関係。
index.js
Chat アプリの Cloud Functions の関数のエントリ ポイント。HTTP リクエストから Chat イベントを読み取り、アプリハンドラを呼び出し、HTTP レスポンスを JSON オブジェクトとして送信します。
controllers/app.js
メインのアプリケーション ロジック。Chat アプリの名前リンクとスラッシュ コマンドを処理して、インタラクション イベントを処理します。カードのクリックに応答するために、app-action-handler.js を呼び出します。
controllers/app-action-handler.js
カードクリックのチャット操作イベントを処理するアプリケーション ロジック。
services/space-service.jsservices/user-service.jsservices/user-story-service.js
これらのファイルには、Chat スペース、ユーザー、ユーザー ストーリーの処理に固有のアプリケーション ロジックの部分が含まれています。これらのファイル内の関数は、app.js または app-action-handler.js によって呼び出されます。データベース オペレーションを実行するために、これらのファイル内の関数は firestore-service.js の関数を呼び出します。
services/firestore-service.js
データベース オペレーションを処理します。このファイル内の関数は、services/space-service.jsservices/user-service.jsservices/user-story-service.js によって呼び出されます。
services/aip-service.js
生成 AI テキスト予測用の Vertex AI API を呼び出します。
model/*.js
このファイルには、アプリケーション サービスが関数間でデータを保存し渡すために使用するクラスと列挙型の定義が含まれています。Firestore データベースのデータモデルを設定しました。
views/*.js
このディレクトリ内の各ファイルは、カード オブジェクトをインスタンス化し、Chat アプリがカード メッセージまたはダイアログ アクション レスポンスとして Chat に返します。
views/widgets/*.js
各ファイルは、アプリが views/ ディレクトリでカードのビルドに使用するウィジェット オブジェクトのタイプをインスタンス化します。
test/**/*.test.js
このディレクトリとそのサブディレクトリ内の各ファイルには、対応する関数、コントローラ、サービス、ビュー、またはウィジェットの単体テストが含まれています。プロジェクトのルート ディレクトリで npm run test を実行すると、すべての単体テストを実行できます。

Cloud Functions の関数を作成してデプロイする

このセクションでは、プロジェクト管理の Chat アプリのアプリケーション ロジックを構成する Cloud Functions の関数を作成してデプロイします。

Cloud Functions の関数は、Chat のインタラクション イベントを含む Chat からの HTTP リクエストに応答して実行されます。実行されると、Cloud Functions の関数のコードがイベントを処理して Chat にレスポンスを返します。レスポンスは、メッセージ、ダイアログ、その他のユーザー操作としてレンダリングされます。該当する場合、Cloud Functions の関数は Firestore データベースからの読み取りまたは書き込みも行います。

Cloud Functions の関数を作成する方法は次のとおりです。

Google Cloud コンソール

  1. コードを GitHub から ZIP ファイルとしてダウンロードします。

    zip ファイルをダウンロード

  2. ダウンロードした ZIP ファイルを展開します。

    抽出されたフォルダには、Google Workspace のサンプル リポジトリ全体が含まれています。

  3. 抽出したフォルダ内で google-chat-samples-main/node/project-management-app/ に移動し、project-management-app フォルダを zip ファイルに圧縮します。

    zip ファイルのルート ディレクトリには、次のファイルとフォルダが含まれている必要があります。

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. Google Cloud コンソールで、[Cloud Functions] ページに移動します。

    Cloud Functions に移動

    Chat アプリ用の Google Cloud プロジェクトが選択されていることを確認します。

  5. [ 関数を作成] をクリックします。

  6. [関数の作成] ページで、関数を設定します。

    1. [環境] で、[第 2 世代] を選択します。
    2. [関数名] に「project-management-tutorial」と入力します。
    3. [リージョン] でリージョンを選択します。
    4. [認証] で、[未認証の呼び出しを許可する] を選択します。
    5. [次へ] をクリックします。
  7. [ランタイム] で [Node.js 20] を選択します。

  8. [エントリ ポイント] でデフォルトのテキストを削除し、「projectManagementChatApp」と入力します。

  9. [ソースコード] で、[ZIP アップロード] を選択します。

  10. [転送先バケット] で、バケットを作成または選択します。

    1. [探す] をクリックします。
    2. バケットを選択します。
    3. [選択] をクリックします。

    Google Cloud は ZIP ファイルをこのバケットにアップロードし、このバケット内のコンポーネント ファイルを抽出します。Cloud Functions がコンポーネント ファイルを Cloud Functions の関数にコピーします。

  11. ZIP ファイルに、GitHub からダウンロードして解凍、再圧縮した ZIP ファイルをアップロードします。

    1. [探す] をクリックします。
    2. zip ファイルに移動して選択します。
    3. [開く] をクリックします。
  12. [Deploy] をクリックします。

    Cloud Functions の詳細ページが開き、関数に 2 つの進行状況インジケーター(ビルドの進行状況インジケーターとサービスのインジケーター)が表示されます。両方の進行状況インジケーターが表示されなくなり、チェックマークに変わったら、関数がデプロイされて準備が整います。

  13. サンプルコードを編集して定数を設定します。

    1. [Cloud Functions の関数の詳細] ページで、[編集] をクリックします。
    2. [次へ] をクリックします。
    3. [ソースコード] で [インライン エディタ] を選択します。
    4. インライン エディタで env.js ファイルを開きます。
    5. project-id をクラウド プロジェクト ID に置き換えます。
    6. 省略可: us-central1 を、Cloud Functions の関数でサポートされているロケーションに更新します。
  14. [Deploy] をクリックします。

  15. 関数のデプロイが完了したら、トリガー URL をコピーします。

    1. [関数の詳細] ページで、[トリガー] をクリックします。
    2. URL をコピーします。これは、次のセクションの Chat アプリを構成する際に必要になります。

gcloud CLI

  1. GitHub からコードのクローンを作成します。

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. このプロジェクト管理 Chat アプリのコードが含まれているディレクトリに切り替えます。

    cd google-chat-samples/node/project-management-app
    
  3. env.js ファイルを編集して環境変数を設定します。

    1. project-id は、実際の Google Cloud プロジェクト ID に置き換えます。
    2. us-central1 は、Google Cloud プロジェクトのロケーションに置き換えます。
  4. Cloud Functions の関数を Google Cloud にデプロイします。

    gcloud functions deploy project-management-tutorial \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=projectManagementChatApp \
    --trigger-http \
    --allow-unauthenticated
    

    REGION は、インフラストラクチャがホストされている Cloud Functions の関数のロケーションus-central1 など)に置き換えます。

  1. 関数のデプロイが完了したら、レスポンスから url プロパティをコピーします。これは、次のセクションで Google Chat アプリを構成するために使用するトリガー URL です。

Google Cloud コンソールで Google Chat アプリを構成する

このセクションでは、Chat アプリの名前、サポートされているスラッシュ コマンド、Chat インタラクション イベントを送信する Chat アプリの Cloud Functions のトリガー URL など、Chat アプリに関する情報を使用して、Google Cloud コンソールで Chat API を構成する方法について説明します。

  1. Google Cloud コンソールで、メニュー アイコン > [その他のプロダクト] > [Google Workspace] > [プロダクト ライブラリ] > [Google Chat API] > [管理] > [構成] をクリックします。

    Chat API の構成に移動

  2. [アプリ名] に「Project Manager」と入力します。

  3. [アバターの URL] に「https://developers.google.com/chat/images/quickstart-app-avatar.png」と入力します。

  4. [説明] に「Manages projects with user stories.」と入力します。

  5. [インタラクティブ機能を有効にする] をクリックしてオンにします。

  6. [機能] で、[1 対 1 のメッセージを受信する]、[スペースとグループの会話に参加する] を選択します。

  7. [接続設定] で [アプリの URL] を選択します。

  8. [アプリの URL] に、Cloud Functions のデプロイからコピーしたトリガー URL を https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial の形式で貼り付けます。gcloud CLI を使用して Cloud Functions の関数をデプロイした場合、これは url プロパティです。

  9. Chat アプリのスラッシュ コマンドを登録する。スラッシュ コマンドを登録するには:

    1. [スラッシュ コマンド] で、[スラッシュ コマンドを追加] をクリックします。
    2. 次の表に示す各スラッシュ コマンドについて、名前コマンド ID説明を入力し、スラッシュ コマンド(ダイアログを開く)を選択して [完了] をクリックします。

      名前 コマンド ID 説明 ダイアログを開く
      /createUserStory 1 指定したタイトルでストーリーを作成します。 未選択
      /myUserStories 2 ユーザーに割り当てられているすべての記事を一覧表示します。 未選択
      /userStory 3 指定したストーリーの現在のステータスを表示します。 未選択
      /manageUserStories 4 ストーリーを編集できるダイアログを開きます。 選択中
      /cleanupUserStories 5 スペース内のすべてのストーリーを削除します。 未選択
  10. [公開設定] で、[この Chat アプリを Workspace ドメイン内の特定のユーザーとグループが使用できるようにする] をオンにして、メールアドレスを入力します。

  11. 必要に応じて、[ログ] で [エラーを Logging に記録] を選択します。

  12. [保存] をクリックします。構成の保存メッセージが表示されます。これは、Chat アプリのテストの準備ができたことを意味します。

Chat アプリをテストする

メッセージを送信し、スラッシュ コマンドを使用してユーザー ストーリーを作成、編集、削除して、プロジェクト管理 Chat アプリをテストします。

  1. Trusted Tester として自身を追加したときに指定した Google Workspace アカウントを使用して Google Chat を開きます。

    Google Chat に移動

  2. [ 新しいチャット] をクリックします。
  3. [1 人以上のユーザーを追加] フィールドに、Chat アプリの名前を入力します。
  4. 検索結果から Chat アプリを選択します。ダイレクト メッセージが開きます。

  5. アプリとの新しいダイレクト メッセージで、「Hello」と入力して enter キーを押します。プロジェクト管理の Chat アプリは、機能の詳細を示すヘルプメニューを返します。
  6. ストーリーを作成するには、メッセージバーに「/createUserStory Test story」と入力して送信します。プロジェクト管理 Chat アプリは、Vertex AI の生成 AI を使用して作成されたユーザー ストーリーの詳細を示すカード メッセージで応答します。
  7. コンソールで Firestore データベースを確認し、Chat アプリを追加したスペースに関して作成されたレコード、アプリを操作したユーザー、作成したユーザー ストーリーを確認します。

    Firestore に移動

  8. Google Chat に戻ります。

    Google Chat に移動

  9. 必要に応じて、ストーリーを編集するには [編集] をクリックします。ストーリーに問題がなければ、[Save] をクリックします。
  10. アプリでサポートされている各スラッシュ コマンドをテストします。コマンドを表示するには、「/」と入力するか、Chat アプリの名前を指定してください。
  11. /cleanupUserStories スラッシュ コマンドを発行して、テスト ユーザー ストーリーを削除します。または、アプリを削除またはアンインストールします。削除すると、そのスペースで作成されたすべてのユーザー ストーリーが削除されます。

トラブルシューティング

Google Chat アプリまたはカードからエラーが返されると、Chat インターフェースに「エラーが発生しました」または「リクエストを処理できません」というメッセージが表示されます。Chat UI にエラー メッセージが表示されないにもかかわらず、Chat アプリまたはカードから予期しない結果(カード メッセージが表示されないなど)が発生することがあります。

Chat の UI にエラー メッセージが表示されない場合もありますが、Chat アプリのエラーロギングがオンになっている場合は、エラー メッセージとログデータを使用してエラーを修正できます。エラーの表示、デバッグ、修正については、Google Chat のエラーのトラブルシューティングと修正をご覧ください。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。

  1. Google Cloud コンソールで、[リソースの管理] ページに移動します。メニュー > [IAM と管理] > [リソースの管理] をクリックします。

    Resource Manager に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。