Управляйте проектами с помощью Google Chat, Vertex AI и Firestore.

В этом руководстве показано, как создать приложение Google Chat, которое команда сможет использовать для управления проектами в режиме реального времени. Приложение Chat использует Vertex AI, чтобы помочь командам писать пользовательские истории (которые представляют функции программной системы с точки зрения пользователя для разработки командой) и сохранять истории в базе данных Firestore.

  • При упоминании приложения для управления проектами приложение предлагает помощь.
    Рисунок 1. Чарли обсуждает разработку функций в чате со своей командой. При упоминании приложения чата для управления проектами приложение чата предлагает помощь.
  • Использование косой черты /createUserStory для создания истории.
    Рисунок 2. Используя косую черту /createUserStory , Чарли создает историю.
  • Приложение Chat для управления проектами использует Vertex AI для написания описания истории.
    Рис. 3. Приложение Chat для управления проектами использует Vertex AI для написания описания истории, а затем делится ею в пространстве.
  • Чарли дорабатывает детали истории.
    Рисунок 4. Чарли нажимает «Изменить», чтобы завершить работу над деталями истории. Описание ИИ точное, но Чарли хочет получить более подробную информацию, поэтому Чарли нажимает «Развернуть», чтобы ИИ Vertex добавил требования к описанию истории. Чарли назначает историю себе, устанавливает статус «Начато», выбирает подходящий приоритет и размер, а затем нажимает «Сохранить» .
  • Управление всеми пользовательскими историями команды.
    Рис. 5. В любой момент Чарли может просматривать и управлять всеми пользовательскими историями команды с помощью косой черты /manageUserStories .

Предварительные условия

Цели

  • Создайте приложение Chat для управления гибкими программными проектами.
  • Помогите пользователям писать пользовательские истории с помощью генеративных инструментов написания историй с помощью искусственного интеллекта на базе Vertex AI:
    • Создавайте и восстанавливайте описания историй.
    • Разверните описания историй от примечаний до полных требований.
    • Исправьте грамматику, чтобы исправить опечатки.
  • Поддерживайте актуальность работы, записывая и читая данные из базы данных Firestore.
  • Упростите совместную работу в чате, позволив пользователям создавать, редактировать, назначать и начинать истории непосредственно из разговора.

Используемые продукты

Приложение для управления проектами использует следующие продукты Google Workspace и Google Cloud:

  • Chat API : API для разработки приложений Google Chat, которые получают события взаимодействия в чате, например сообщения, и отвечают на них. Приложение Google Chat для управления проектами использует Chat API для получения и реагирования на события взаимодействия, отправленные Chat, а также для настройки атрибутов, определяющих, как оно отображается в Chat, таких как имя и изображение аватара.
  • Vertex AI API : генеративная платформа искусственного интеллекта. Приложение Google Chat для управления проектами использует API Vertex AI для написания заголовков и описаний пользовательских историй.
  • Firestore : бессерверная база данных документов. Приложение Google Chat для управления проектами использует Firebase для хранения данных о пользовательских историях.
  • Облачные функции : облегченная бессерверная вычислительная служба, которая позволяет создавать одноцелевые автономные функции, которые могут реагировать на события взаимодействия в чате без необходимости управлять сервером или средой выполнения. Приложение Google Chat для управления проектами использует облачные функции для размещения конечной точки HTTP, на которую Chat отправляет события взаимодействия, а также в качестве вычислительной платформы для запуска логики, которая обрабатывает эти события и реагирует на них.

    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. Пользователь отправляет сообщение в чат и вызывает приложение Google Chat для управления проектами, отправляя ему сообщение напрямую, упоминая его в пробеле или вводя косую черту.

  2. Chat отправляет синхронный HTTP-запрос в конечную точку HTTP облачной функции.

  3. Приложение Google Chat для управления проектами обрабатывает HTTP-запрос:

    1. Vertex AI помогает писать или обновлять пользовательскую историю.

    2. База данных Firestore хранит, извлекает, обновляет или удаляет данные пользовательских историй.

  4. Облачные функции возвращают HTTP-ответ в чат, который отображает его пользователю в виде сообщения или диалогового окна.

Подготовьте окружающую среду

В этом разделе показано, как создать и настроить проект Google Cloud для приложения Chat.

Создайте проект Google Cloud

Консоль Google Cloud

  1. В консоли Google Cloud выберите > IAM и администрирование > Создать проект .

    Перейти к созданию проекта

  2. В поле «Имя проекта » введите описательное имя вашего проекта.

    Необязательно: Чтобы изменить идентификатор проекта , нажмите «Изменить» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который соответствует вашим потребностям на протяжении всего срока существования проекта.

  3. В поле «Местоположение » нажмите «Обзор» , чтобы отобразить возможные местоположения для вашего проекта. Затем нажмите «Выбрать» .
  4. Нажмите Создать . Консоль Google Cloud перейдет на страницу панели инструментов, и ваш проект будет создан в течение нескольких минут.

интерфейс командной строки gcloud

В одной из следующих сред разработки получите доступ к Google Cloud CLI ( gcloud ):

  • Cloud Shell : чтобы использовать онлайн-терминал с уже настроенным интерфейсом командной строки gcloud, активируйте Cloud Shell.
    Активировать Cloud Shell
  • Локальная оболочка : чтобы использовать локальную среду разработки, установите и инициализируйте интерфейс командной строки gcloud.
    Чтобы создать облачный проект, используйте команду gcloud projects create :
    gcloud projects create PROJECT_ID
    Замените PROJECT_ID , указав идентификатор проекта, который вы хотите создать.

Включить биллинг для облачного проекта

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в раздел «Оплата» . Нажмите Меню > Оплата > проекты .

    Перейти к оплате за мои проекты

  2. В разделе «Выберите организацию» выберите организацию, связанную с вашим проектом Google Cloud.
  3. В строке проекта откройте меню «Действия» ( ), нажмите «Изменить биллинг» и выберите учетную запись Cloud Billing.
  4. Нажмите Установить учетную запись .

интерфейс командной строки gcloud

  1. Чтобы просмотреть список доступных платежных учетных записей, запустите:
    gcloud billing accounts list
  2. Свяжите платежный аккаунт с проектом Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Замените следующее:

    • PROJECT_ID — это идентификатор облачного проекта, для которого вы хотите включить оплату.
    • BILLING_ACCOUNT_ID — это идентификатор платежного аккаунта , который нужно связать с проектом Google Cloud.

Включите API

Консоль Google Cloud

  1. В консоли Google Cloud включите API Google Chat, API Vertex AI, API облачных функций, API Firestore, API Cloud Build, API Pub/Sub и API администрирования Cloud Run.

    Включите API

  2. Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .

  3. Убедитесь, что вы включаете правильные API, затем нажмите « Включить» .

интерфейс командной строки gcloud

  1. При необходимости установите текущий проект Cloud на тот, который вы создали с помощью команды gcloud config set project :

    gcloud config set project PROJECT_ID
    

    Замените PROJECT_ID на идентификатор созданного вами облачного проекта.

  2. Включите API Google Chat, API Vertex AI, API облачных функций, API Firestore, API Cloud Build, API Pub/Sub и API администрирования Cloud Run с помощью команды gcloud services enable :

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

    API-интерфейсы Cloud Build, Pub/Sub и Cloud Run Admin являются необходимыми компонентами Cloud Functions.

Аутентификация и авторизация

Для выполнения этого руководства не требуется настройка аутентификации и авторизации.

Для вызова API-интерфейсов Firestore и Vertex AI в этом руководстве используются учетные данные приложения по умолчанию с учетной записью службы по умолчанию, прикрепленной к облачной функции, которую вам не нужно настраивать. В контексте производственной среды вместо этого обычно создается учетная запись службы и привязывается к облачной функции.

Создайте и разверните приложение Google Chat.

Теперь, когда ваш проект Google Cloud создан и настроен, вы готовы создать и развернуть приложение Google Chat. В этом разделе вы делаете следующее:

  1. Создайте базу данных Firestore, в которой можно будет сохранять и извлекать пользовательские истории.
  2. При необходимости просмотрите пример кода.
  3. Создайте облачную функцию для размещения и запуска кода приложения Chat в ответ на события, полученные от Chat в виде HTTP-запросов.
  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 ID String
Уникальный идентификатор конкретного пространства, где создаются истории. Соответствует имени ресурса пространства в Chat API.
userStories Subcollection of Documents ( userStories )
Истории, созданные приложением Chat и его пользователями. Соответствует Document ID userStories в Firebase.
users Subcollection of Documents ( user )
Пользователи, которые создали или которым назначены истории.
displayName String
Отображаемое имя чат-группы в Chat API. Не настроено для прямых сообщений с пользователями.

userStories

Истории, созданные приложением Chat и его пользователями.

Поля
Document ID String
Уникальный идентификатор конкретной пользовательской истории, созданной приложением Chat и его пользователями.
assignee Document ( user )
Имя ресурса пользователя, назначенного для завершения истории. Соответствует Document ID документа users и имени ресурса пользователя в Chat API.
description String
Описание функции программного обеспечения с точки зрения пользователя.
priority Enum
Срочность завершения работы. Возможные значения: Low , Medium или High .
size Enum
Объем работы. Возможные значения: Small , Medium или Large .
status Enum
Этап работы. Возможные значения: OPEN , STARTED или COMPLETED .
title String
Название рассказа; краткое содержание.

users

Пользователи, которые создали или которым назначены истории.

Поля
Document ID String
Уникальный идентификатор конкретного пользователя. Соответствует assignee userStories в Firebase и имени ресурса пользователя в Chat API.
avatarUrl String
URL-адрес, на котором размещено изображение аватара пользователя в чате.
displayName String
Отображаемое имя пользователя в чате.

Вот как создать базу данных Firestore:

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в Firestore. Нажмите Меню > Firestore

    Перейти в Firestore

  2. Нажмите Создать базу данных .

  3. В разделе «Выберите режим Firestore » нажмите «Собственный режим» .

  4. Нажмите Продолжить .

  5. Настройте базу данных:

    1. В поле «Назовите свою базу данных » оставьте идентификатор базы данных (default) .

    2. В поле «Тип местоположения » укажите регион для вашей базы данных, например us-central1 . Для достижения максимальной производительности выберите то же или ближайшее местоположение, где находится облачная функция приложения чат.

  6. Нажмите Создать базу данных .

интерфейс командной строки gcloud

  • Создайте базу данных Firestore в собственном режиме с помощью команды gcloud firestore databases create :

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

    Замените LOCATION названием региона Firestore , например us-central1 .

Просмотрите пример кода

При желании, прежде чем создавать облачную функцию, просмотрите и ознакомьтесь с примером кода, размещенным на GitHub.

Посмотреть на GitHub

Вот обзор каждого файла:

env.js
Переменные конфигурации среды для развертывания приложения Chat в указанном проекте Google Cloud и регионе. Вам необходимо обновить переменные конфигурации в этом файле.
package.json и package-lock.json
Настройки и зависимости проекта Node.js.
index.js
Точка входа для облачной функции приложения Chat. Он считывает событие Chat из HTTP-запроса, вызывает обработчик приложения и отправляет ответ HTTP как объект JSON.
controllers/app.js
Основная логика приложения. Обрабатывает события взаимодействия , обрабатывая упоминания в приложении Chat и команды с косой чертой. Чтобы реагировать на клики по карточкам, он вызывает app-action-handler.js .
controllers/app-action-handler.js
Логика приложения для обработки событий взаимодействия в чате при нажатии карты.
services/space-service.js , services/user-service.js и services/user-story-service.js
Эти файлы содержат части логики приложения, специфичные для работы с пространствами чата, пользователями и пользовательскими историями. Функции в этих файлах вызываются app.js или app-action-handler.js . Для выполнения операций с базой данных функции в этих файлах вызывают функции в firestore-service.js .
services/firestore-service.js
Обрабатывает операции с базой данных. Функции в этом файле вызываются services/space-service.js , services/user-service.js и services/user-story-service.js .
services/aip-service.js
Вызывает API Vertex AI для генеративного прогнозирования текста AI.
model/*.js
Эти файлы содержат определения классов и перечислений, которые службы приложений используют для хранения и передачи данных между функциями. Они устанавливают модель данных для базы данных Firestore.
views/*.js
Каждый файл в этом каталоге создает экземпляр объекта карты , который приложение Chat затем отправляет обратно в Chat либо в виде сообщения с карточкой , либо в качестве ответа на диалоговое действие .
views/widgets/*.js
Каждый файл создает экземпляр типа объекта виджета , который приложение использует для создания карточек в views/ .
test/**/*.test.js
Каждый файл в этом каталоге и его подкаталогах содержит модульные тесты для соответствующей функции, контроллера, службы, представления или виджета. Вы можете выполнить все модульные тесты, запустив npm run test находясь в корневом каталоге проекта.

Создайте и разверните облачную функцию

В этом разделе вы создадите и развернете облачную функцию, которая включает в себя логику приложения приложения Chat для управления проектами.

Облачная функция запускается в ответ на HTTP-запрос от Chat, содержащий событие взаимодействия в Chat. При запуске код облачной функции обрабатывает событие и возвращает ответ в Chat, который Chat отображает как сообщение, диалог или другой тип взаимодействия с пользователем. Если применимо, функция Cloud также считывает или записывает данные из базы данных Firestore.

Вот как создать функцию облака:

Консоль 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 перейдите на страницу «Функции облака»:

    Перейти к облачным функциям

    Убедитесь, что для вашего приложения 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 Function.

  11. В Zip-файл загрузите zip-файл, который вы скачали с GitHub, распаковали и повторно сжали:

    1. Нажмите «Обзор» .
    2. Перейдите к zip-файлу и выберите его.
    3. Нажмите Открыть .
  12. Нажмите «Развернуть» .

    Откроется страница сведений об облачных функциях , и ваша функция появится с двумя индикаторами хода выполнения: один для сборки, а другой для службы. Когда оба индикатора выполнения исчезнут и будут заменены галочками, ваша функция развернута и готова.

  13. Отредактируйте пример кода, чтобы установить константы:

    1. На странице сведений о функции облака нажмите «Изменить» .
    2. Нажмите Далее .
    3. В разделе «Исходный код» выберите «Встроенный редактор» .
    4. Во встроенном редакторе откройте файл env.js
    5. Замените project-id на идентификатор вашего облачного проекта.
    6. Необязательно: обновите us-central1 , указав поддерживаемое местоположение для вашей облачной функции.
  14. Нажмите «Развернуть» .

  15. Когда функция завершит развертывание, скопируйте URL-адрес триггера:

    1. На странице сведений о функции нажмите Триггер .
    2. Скопируйте URL-адрес. Он понадобится вам для настройки приложения Chat в следующем разделе.

интерфейс командной строки gcloud

  1. Клонируйте код с GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Перейдите в каталог, содержащий код этого приложения чата для управления проектами:

    cd google-chat-samples/node/project-management-app
    
  3. Отредактируйте файл env.js , чтобы установить переменные среды:

    1. Замените project-id на идентификатор вашего проекта Google Cloud.
    2. Замените us-central1 на местоположение вашего проекта Google Cloud.
  4. Разверните функцию облака в Google Cloud:

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

    Замените REGION местоположением облачной функции , где размещена ее инфраструктура, например us-central1 .

  1. Когда функция завершит развертывание, скопируйте свойство url из ответа. Это URL-адрес триггера, который вы используете в следующем разделе для настройки приложения Google Chat.

Настройте приложение Google Chat в консоли Google Cloud.

В этом разделе показано, как настроить API Chat в консоли Google Cloud, используя информацию о вашем приложении Chat, включая имя приложения Chat, поддерживаемые команды с косой чертой и URL-адрес триггера облачной функции приложения Chat, которому оно отправляет события взаимодействия с Chat.

  1. В консоли Google Cloud нажмите Меню > продукты > Google Workspace > Библиотека продуктов > Google Chat API > Управление > Конфигурация .

    Перейти к настройке 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-адрес конечной точки HTTP .

  8. В URL-адрес конечной точки HTTP вставьте URL-адрес триггера .cloudfunctions.net/project-management-tutorial который вы скопировали из развертывания облачных функций, в формате https:// REGION - PROJECT_ID . Если вы развернули функцию Cloud с помощью CLI gcloud, это свойство url .

  9. Зарегистрируйте слэш-команды приложения Chat. Чтобы зарегистрировать косую черту:

    1. В разделе «Команды косой черты» нажмите «Добавить команду косой черты» .
    2. Для каждой косой черты, подробно описанной в следующей таблице, введите Имя , Идентификатор команды , Описание и выберите, будет ли косая черта открывать диалоговое окно , затем нажмите «Готово» :

      Имя Идентификатор команды Описание Открывает диалог
      /createUserStory 1 Создайте историю с указанным названием. Не выбрано
      /myUserStories 2 Перечисляет все истории, назначенные пользователю. Не выбрано
      /userStory 3 Отображает текущий статус указанной истории. Не выбрано
      /manageUserStories 4 Открывает диалог, в котором истории можно редактировать. Выбрано
      /cleanupUserStories 5 Удаляет все истории в пространстве. Не выбрано
  10. В разделе «Видимость » выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене Workspace» и введите свой адрес электронной почты.

  11. При необходимости в разделе «Журналы » выберите «Записывать ошибки в журнал» .

  12. Нажмите Сохранить . Появится сообщение о сохраненной конфигурации, означающее, что приложение Chat готово к тестированию.

Протестируйте приложение Чат

Протестируйте приложение чата для управления проектами, отправив ему сообщение и используя его команды с косой чертой для создания, редактирования и удаления пользовательских историй.

  1. Откройте Google Chat, используя учетную запись Google Workspace, которую вы указали при добавлении себя в качестве доверенного тестировщика.

    Перейти в чат Google

  2. Нажмите новый чат» .
  3. В поле «Добавить 1 или несколько человек» введите название вашего приложения чата.
  4. Выберите приложение чата из результатов. Откроется прямое сообщение.

  5. В новом прямом сообщении с приложением введите Hello и нажмите enter . Приложение чата для управления проектами отвечает меню помощи с подробным описанием того, что оно может сделать.
  6. Чтобы создать историю, введите /createUserStory Test story в строке сообщений и отправьте ее. Приложение чата для управления проектами отвечает карточным сообщением с подробным описанием пользовательской истории, которую оно создает для вас с помощью генеративного ИИ от Vertex AI.
  7. В консоли проверьте базу данных Firestore, чтобы просмотреть созданные ею записи о пространстве, в которое вы добавили приложение Chat, пользователях, которые с ним взаимодействовали, и созданной вами пользовательской истории.

    Перейти в Firestore

  8. Вернитесь в Google Чат.

    Перейти в чат Google

  9. При желании, чтобы отредактировать историю, нажмите «Изменить» . Когда вы будете удовлетворены историей, нажмите «Сохранить» .
  10. Проверьте каждую косую черту, поддерживаемую приложением. Чтобы увидеть их, введите / или упомяните приложение «Чат».
  11. Удалите тестовую пользовательскую историю, введя косую черту /cleanupUserStories . Либо удалите или удалите приложение . При удалении приложение удаляет все пользовательские истории, созданные в этом пространстве.

Устранение неполадок

Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.

Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .

Очистить

Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.

  1. В консоли Google Cloud перейдите на страницу «Управление ресурсами» . Нажмите Меню > IAM и администрирование > ресурсами .

    Зайдите в диспетчер ресурсов

  2. В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить .
  3. В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.
,

В этом руководстве показано, как создать приложение Google Chat, которое команда сможет использовать для управления проектами в режиме реального времени. Приложение Chat использует Vertex AI, чтобы помочь командам писать пользовательские истории (которые представляют функции программной системы с точки зрения пользователя для разработки командой) и сохранять истории в базе данных Firestore.

  • При упоминании приложения для управления проектами приложение предлагает помощь.
    Рисунок 1. Чарли обсуждает разработку функций в чате со своей командой. При упоминании приложения чата для управления проектами приложение чата предлагает помощь.
  • Использование косой черты /createUserStory для создания истории.
    Рисунок 2. Используя косую черту /createUserStory , Чарли создает историю.
  • Приложение Chat для управления проектами использует Vertex AI для написания описания истории.
    Рис. 3. Приложение Chat для управления проектами использует Vertex AI для написания описания истории, а затем делится ею в пространстве.
  • Чарли дорабатывает детали истории.
    Рисунок 4. Чарли нажимает «Изменить», чтобы завершить работу над деталями истории. Описание ИИ точное, но Чарли хочет получить более подробную информацию, поэтому Чарли нажимает «Развернуть», чтобы ИИ Vertex добавил требования к описанию истории. Чарли назначает историю себе, устанавливает статус «Начато», выбирает подходящий приоритет и размер, а затем нажимает «Сохранить» .
  • Управление всеми пользовательскими историями команды.
    Рис. 5. В любой момент Чарли может просматривать и управлять всеми пользовательскими историями команды с помощью косой черты /manageUserStories .

Предварительные условия

Цели

  • Создайте приложение Chat для управления гибкими программными проектами.
  • Помогите пользователям писать пользовательские истории с помощью генеративных инструментов написания историй с помощью искусственного интеллекта на базе Vertex AI:
    • Создавайте и восстанавливайте описания историй.
    • Разверните описания историй от примечаний до полных требований.
    • Исправьте грамматику, чтобы исправить опечатки.
  • Поддерживайте актуальность работы, записывая и читая данные из базы данных Firestore.
  • Упростите совместную работу в чате, позволив пользователям создавать, редактировать, назначать и начинать истории непосредственно из разговора.

Используемые продукты

Приложение для управления проектами использует следующие продукты Google Workspace и Google Cloud:

  • Chat API : API для разработки приложений Google Chat, которые получают события взаимодействия в чате, например сообщения, и отвечают на них. Приложение Google Chat для управления проектами использует Chat API для получения и реагирования на события взаимодействия, отправленные Chat, а также для настройки атрибутов, определяющих, как оно отображается в Chat, таких как имя и изображение аватара.
  • Vertex AI API : генеративная платформа искусственного интеллекта. Приложение Google Chat для управления проектами использует API Vertex AI для написания заголовков и описаний пользовательских историй.
  • Firestore : бессерверная база данных документов. Приложение Google Chat для управления проектами использует Firebase для хранения данных о пользовательских историях.
  • Облачные функции : облегченная бессерверная вычислительная служба, которая позволяет создавать одноцелевые автономные функции, которые могут реагировать на события взаимодействия в чате без необходимости управлять сервером или средой выполнения. Приложение Google Chat для управления проектами использует облачные функции для размещения конечной точки HTTP, на которую Chat отправляет события взаимодействия, а также в качестве вычислительной платформы для запуска логики, которая обрабатывает эти события и реагирует на них.

    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. Пользователь отправляет сообщение в чат и вызывает приложение Google Chat для управления проектами, отправляя ему сообщение напрямую, упоминая его в пробеле или вводя косую черту.

  2. Chat отправляет синхронный HTTP-запрос в конечную точку HTTP облачной функции.

  3. Приложение Google Chat для управления проектами обрабатывает HTTP-запрос:

    1. Vertex AI помогает писать или обновлять пользовательскую историю.

    2. База данных Firestore хранит, извлекает, обновляет или удаляет данные пользовательских историй.

  4. Облачные функции возвращают HTTP-ответ в чат, который отображает его пользователю в виде сообщения или диалогового окна.

Подготовьте окружающую среду

В этом разделе показано, как создать и настроить проект Google Cloud для приложения Chat.

Создайте проект Google Cloud

Консоль Google Cloud

  1. В консоли Google Cloud выберите > IAM и администрирование > Создать проект .

    Перейти к созданию проекта

  2. В поле «Имя проекта » введите описательное имя вашего проекта.

    Необязательно: Чтобы изменить идентификатор проекта , нажмите «Изменить» . Идентификатор проекта нельзя изменить после его создания, поэтому выберите идентификатор, который соответствует вашим потребностям на протяжении всего срока существования проекта.

  3. В поле «Местоположение » нажмите «Обзор» , чтобы отобразить возможные местоположения для вашего проекта. Затем нажмите «Выбрать» .
  4. Нажмите Создать . Консоль Google Cloud перейдет на страницу панели инструментов, и ваш проект будет создан в течение нескольких минут.

интерфейс командной строки gcloud

В одной из следующих сред разработки получите доступ к Google Cloud CLI ( gcloud ):

  • Cloud Shell : чтобы использовать онлайн-терминал с уже настроенным интерфейсом командной строки gcloud, активируйте Cloud Shell.
    Активировать Cloud Shell
  • Локальная оболочка : чтобы использовать локальную среду разработки, установите и инициализируйте интерфейс командной строки gcloud.
    Чтобы создать облачный проект, используйте команду gcloud projects create :
    gcloud projects create PROJECT_ID
    Замените PROJECT_ID , указав идентификатор проекта, который вы хотите создать.

Включить биллинг для облачного проекта

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в раздел «Оплата» . Нажмите Меню > Оплата > проекты .

    Перейти к оплате за мои проекты

  2. В разделе «Выберите организацию» выберите организацию, связанную с вашим проектом Google Cloud.
  3. В строке проекта откройте меню «Действия» ( ), нажмите «Изменить биллинг» и выберите учетную запись Cloud Billing.
  4. Нажмите Установить учетную запись .

интерфейс командной строки gcloud

  1. Чтобы просмотреть список доступных платежных учетных записей, запустите:
    gcloud billing accounts list
  2. Свяжите платежный аккаунт с проектом Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Замените следующее:

    • PROJECT_ID — это идентификатор облачного проекта, для которого вы хотите включить оплату.
    • BILLING_ACCOUNT_ID — это идентификатор платежного аккаунта , который нужно связать с проектом Google Cloud.

Включите API

Консоль Google Cloud

  1. В консоли Google Cloud включите API Google Chat, API Vertex AI, API облачных функций, API Firestore, API Cloud Build, API Pub/Sub и API администрирования Cloud Run.

    Включите API

  2. Убедитесь, что вы включаете API в правильном облачном проекте, затем нажмите «Далее» .

  3. Убедитесь, что вы включаете правильные API, затем нажмите « Включить» .

интерфейс командной строки gcloud

  1. При необходимости установите текущий проект Cloud на тот, который вы создали с помощью команды gcloud config set project :

    gcloud config set project PROJECT_ID
    

    Замените PROJECT_ID на идентификатор созданного вами облачного проекта.

  2. Включите API Google Chat, API Vertex AI, API облачных функций, API Firestore, API Cloud Build, API Pub/Sub и API администрирования Cloud Run с помощью команды gcloud services enable :

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

    API-интерфейсы Cloud Build, Pub/Sub и Cloud Run Admin являются необходимыми компонентами Cloud Functions.

Аутентификация и авторизация

Для выполнения этого руководства не требуется настройка аутентификации и авторизации.

Для вызова API-интерфейсов Firestore и Vertex AI в этом руководстве используются учетные данные приложения по умолчанию с учетной записью службы по умолчанию, прикрепленной к облачной функции, которую вам не нужно настраивать. В контексте производственной среды вместо этого обычно создается учетная запись службы и привязывается к облачной функции.

Создайте и разверните приложение Google Chat.

Теперь, когда ваш проект Google Cloud создан и настроен, вы готовы создать и развернуть приложение Google Chat. В этом разделе вы делаете следующее:

  1. Создайте базу данных Firestore, в которой можно будет сохранять и извлекать пользовательские истории.
  2. При необходимости просмотрите пример кода.
  3. Создайте облачную функцию для размещения и запуска кода приложения Chat в ответ на события, полученные от Chat в виде HTTP-запросов.
  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 ID String
Уникальный идентификатор конкретного пространства, где создаются истории. Соответствует имени ресурса пространства в Chat API.
userStories Subcollection of Documents ( userStories )
Истории, созданные приложением Chat и его пользователями. Соответствует Document ID userStories в Firebase.
users Subcollection of Documents ( user )
Пользователи, которые создали или которым назначены истории.
displayName String
Отображаемое имя чат-группы в Chat API. Не настроено для прямых сообщений с пользователями.

userStories

Истории, созданные приложением Chat и его пользователями.

Поля
Document ID String
Уникальный идентификатор конкретной пользовательской истории, созданной приложением Chat и его пользователями.
assignee Document ( user )
Имя ресурса пользователя, назначенного для завершения истории. Соответствует Document ID документа users и имени ресурса пользователя в Chat API.
description String
Описание функции программного обеспечения с точки зрения пользователя.
priority Enum
Срочность завершения работы. Возможные значения: Low , Medium или High .
size Enum
Объем работы. Возможные значения: Small , Medium или Large .
status Enum
Этап работы. Возможные значения: OPEN , STARTED или COMPLETED .
title String
Название рассказа; краткое содержание.

users

Пользователи, которые создали или которым назначены истории.

Поля
Document ID String
Уникальный идентификатор конкретного пользователя. Соответствует assignee userStories в Firebase и имени ресурса пользователя в Chat API.
avatarUrl String
URL-адрес, на котором размещено изображение аватара пользователя в чате.
displayName String
Отображаемое имя пользователя в чате.

Вот как создать базу данных Firestore:

Консоль Google Cloud

  1. В консоли Google Cloud перейдите в Firestore. Нажмите Меню > Firestore

    Перейти в Firestore

  2. Нажмите Создать базу данных .

  3. В разделе «Выберите режим Firestore » нажмите «Собственный режим» .

  4. Нажмите Продолжить .

  5. Настройте базу данных:

    1. В поле «Назовите свою базу данных » оставьте идентификатор базы данных (default) .

    2. В поле «Тип местоположения » укажите регион для вашей базы данных, например us-central1 . Для достижения максимальной производительности выберите то же или ближайшее местоположение, где находится облачная функция приложения чат.

  6. Нажмите Создать базу данных .

интерфейс командной строки gcloud

  • Создайте базу данных Firestore в собственном режиме с помощью команды gcloud firestore databases create :

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

    Замените LOCATION названием региона Firestore , например us-central1 .

Просмотрите пример кода

При желании, прежде чем создавать облачную функцию, просмотрите и ознакомьтесь с примером кода, размещенным на GitHub.

Посмотреть на GitHub

Вот обзор каждого файла:

env.js
Переменные конфигурации среды для развертывания приложения Chat в указанном проекте Google Cloud и регионе. Вам необходимо обновить переменные конфигурации в этом файле.
package.json и package-lock.json
Настройки и зависимости проекта Node.js.
index.js
Точка входа для облачной функции приложения Chat. Он считывает событие Chat из HTTP-запроса, вызывает обработчик приложения и отправляет ответ HTTP как объект JSON.
controllers/app.js
Основная логика приложения. Обрабатывает события взаимодействия , обрабатывая упоминания в приложении Chat и команды с косой чертой. Чтобы реагировать на клики по карточкам, он вызывает app-action-handler.js .
controllers/app-action-handler.js
Логика приложения для обработки событий взаимодействия в чате при нажатии карты.
services/space-service.js , services/user-service.js и services/user-story-service.js
Эти файлы содержат части логики приложения, специфичные для работы с пространствами чата, пользователями и пользовательскими историями. Функции в этих файлах вызываются app.js или app-action-handler.js . Для выполнения операций с базой данных функции в этих файлах вызывают функции в firestore-service.js .
services/firestore-service.js
Обрабатывает операции с базой данных. Функции в этом файле вызываются services/space-service.js , services/user-service.js и services/user-story-service.js .
services/aip-service.js
Вызывает API Vertex AI для генеративного прогнозирования текста AI.
model/*.js
Эти файлы содержат определения классов и перечислений, которые службы приложений используют для хранения и передачи данных между функциями. Они устанавливают модель данных для базы данных Firestore.
views/*.js
Каждый файл в этом каталоге создает экземпляр объекта карты , который приложение Chat затем отправляет обратно в Chat либо в виде сообщения с карточкой , либо в качестве ответа на диалоговое действие .
views/widgets/*.js
Каждый файл создает экземпляр типа объекта виджета , который приложение использует для создания карточек в views/ .
test/**/*.test.js
Каждый файл в этом каталоге и его подкаталогах содержит модульные тесты для соответствующей функции, контроллера, службы, представления или виджета. Вы можете выполнить все модульные тесты, запустив npm run test находясь в корневом каталоге проекта.

Создайте и разверните облачную функцию

В этом разделе вы создадите и развернете облачную функцию, которая включает в себя логику приложения приложения Chat для управления проектами.

Облачная функция запускается в ответ на HTTP-запрос от Chat, содержащий событие взаимодействия в Chat. При запуске код облачной функции обрабатывает событие и возвращает ответ в Chat, который Chat отображает как сообщение, диалог или другой тип взаимодействия с пользователем. Если применимо, функция Cloud также считывает или записывает данные из базы данных Firestore.

Вот как создать функцию облака:

Консоль 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 перейдите на страницу «Функции облака»:

    Перейти к облачным функциям

    Убедитесь, что для вашего приложения 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 Function.

  11. В Zip-файл загрузите zip-файл, который вы скачали с GitHub, распаковали и повторно сжали:

    1. Нажмите «Обзор» .
    2. Перейдите к zip-файлу и выберите его.
    3. Нажмите Открыть .
  12. Нажмите «Развернуть» .

    Откроется страница сведений об облачных функциях , и ваша функция появится с двумя индикаторами хода выполнения: один для сборки, а другой для службы. Когда оба индикатора выполнения исчезнут и будут заменены галочками, ваша функция развернута и готова.

  13. Отредактируйте пример кода, чтобы установить константы:

    1. На странице сведений о функции облака нажмите «Изменить» .
    2. Нажмите Далее .
    3. В разделе «Исходный код» выберите «Встроенный редактор» .
    4. Во встроенном редакторе откройте файл env.js
    5. Замените project-id на идентификатор вашего облачного проекта.
    6. Необязательно: обновите us-central1 , указав поддерживаемое местоположение для вашей облачной функции.
  14. Нажмите «Развернуть» .

  15. Когда функция завершит развертывание, скопируйте URL-адрес триггера:

    1. На странице сведений о функции нажмите Триггер .
    2. Скопируйте URL-адрес. Он понадобится вам для настройки приложения Chat в следующем разделе.

интерфейс командной строки gcloud

  1. Клонируйте код с GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Перейдите в каталог, содержащий код этого приложения чата для управления проектами:

    cd google-chat-samples/node/project-management-app
    
  3. Отредактируйте файл env.js , чтобы установить переменные среды:

    1. Замените project-id на идентификатор вашего проекта Google Cloud.
    2. Замените us-central1 на местоположение вашего проекта Google Cloud.
  4. Разверните функцию облака в Google Cloud:

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

    Замените REGION местоположением облачной функции , где размещена ее инфраструктура, например us-central1 .

  1. Когда функция завершит развертывание, скопируйте свойство url из ответа. Это URL-адрес триггера, который вы используете в следующем разделе для настройки приложения Google Chat.

Настройте приложение Google Chat в консоли Google Cloud.

В этом разделе показано, как настроить API Chat в консоли Google Cloud, используя информацию о вашем приложении Chat, включая имя приложения Chat, поддерживаемые команды с косой чертой и URL-адрес триггера облачной функции приложения Chat, которому оно отправляет события взаимодействия с Chat.

  1. В консоли Google Cloud нажмите Меню > продукты > Google Workspace > Библиотека продуктов > Google Chat API > Управление > Конфигурация .

    Перейти к настройке 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-адрес конечной точки HTTP .

  8. В URL-адрес конечной точки HTTP вставьте URL-адрес триггера .cloudfunctions.net/project-management-tutorial который вы скопировали из развертывания облачных функций, в формате https:// REGION - PROJECT_ID . Если вы развернули функцию Cloud с помощью CLI gcloud, это свойство url .

  9. Зарегистрируйте слэш-команды приложения Chat. Чтобы зарегистрировать косую черту:

    1. В разделе «Команды косой черты» нажмите «Добавить команду косой черты» .
    2. Для каждой косой черты, подробно описанной в следующей таблице, введите Имя , Идентификатор команды , Описание и выберите, будет ли косая черта открывать диалоговое окно , затем нажмите «Готово» :

      Имя Идентификатор команды Описание Открывает диалог
      /createUserStory 1 Создайте историю с указанным названием. Не выбрано
      /myUserStories 2 Перечисляет все истории, назначенные пользователю. Не выбрано
      /userStory 3 Отображает текущий статус указанной истории. Не выбрано
      /manageUserStories 4 Открывает диалог, в котором истории можно редактировать. Выбрано
      /cleanupUserStories 5 Удаляет все истории в пространстве. Не выбрано
  10. В разделе «Видимость » выберите «Сделать это приложение чата доступным для определенных людей и групп в вашем домене Workspace» и введите свой адрес электронной почты.

  11. При необходимости в разделе «Журналы » выберите «Записывать ошибки в журнал» .

  12. Нажмите Сохранить . Появится сообщение о сохраненной конфигурации, означающее, что приложение Chat готово к тестированию.

Протестируйте приложение Чат

Протестируйте приложение чата для управления проектами, отправив ему сообщение и используя его команды с косой чертой для создания, редактирования и удаления пользовательских историй.

  1. Откройте Google Chat, используя учетную запись Google Workspace, которую вы указали при добавлении себя в качестве доверенного тестировщика.

    Перейти в чат Google

  2. Нажмите новый чат» .
  3. В поле «Добавить 1 или несколько человек» введите название вашего приложения чата.
  4. Выберите приложение чата из результатов. Откроется прямое сообщение.

  5. В новом прямом сообщении с приложением введите Hello и нажмите enter . Приложение чата для управления проектами отвечает меню помощи с подробным описанием того, что оно может сделать.
  6. Чтобы создать историю, введите /createUserStory Test story в строке сообщений и отправьте ее. Приложение чата для управления проектами отвечает карточным сообщением с подробным описанием пользовательской истории, которую оно создает для вас с помощью генеративного ИИ от Vertex AI.
  7. В консоли проверьте базу данных Firestore, чтобы просмотреть созданные ею записи о пространстве, в которое вы добавили приложение Chat, пользователях, которые с ним взаимодействовали, и созданной вами пользовательской истории.

    Перейти в Firestore

  8. Вернитесь в Google Чат.

    Перейти в чат Google

  9. При желании, чтобы отредактировать историю, нажмите «Изменить» . Когда вы будете удовлетворены историей, нажмите «Сохранить» .
  10. Проверьте каждую косую черту, поддерживаемую приложением. Чтобы увидеть их, введите / или упомяните приложение «Чат».
  11. Удалите тестовую пользовательскую историю, введя косую черту /cleanupUserStories . Либо удалите или удалите приложение . При удалении приложение удаляет все пользовательские истории, созданные в этом пространстве.

Устранение неполадок

Когда приложение или карточка Google Chat возвращает ошибку, в интерфейсе Chat отображается сообщение «Что-то пошло не так». или «Невозможно обработать ваш запрос». Иногда в пользовательском интерфейсе чата не отображается сообщение об ошибке, но приложение или карточка чата выдает неожиданный результат; например, сообщение с карточкой может не появиться.

Хотя сообщение об ошибке может не отображаться в пользовательском интерфейсе чата, доступны описательные сообщения об ошибках и данные журнала, которые помогут вам исправить ошибки, если включено ведение журнала ошибок для приложений чата. Информацию о просмотре, отладке и исправлении ошибок см. в разделе «Устранение неполадок и исправление ошибок Google Chat» .

Очистить

Чтобы избежать списания средств с вашей учетной записи Google Cloud за ресурсы, используемые в этом руководстве, мы рекомендуем вам удалить проект Cloud.

  1. В консоли Google Cloud перейдите на страницу «Управление ресурсами» . Нажмите Меню > IAM и администрирование > ресурсами .

    Зайдите в диспетчер ресурсов

  2. В списке проектов выберите проект, который хотите удалить, и нажмите «Удалить .
  3. В диалоговом окне введите идентификатор проекта и нажмите «Завершить работу», чтобы удалить проект.