В этом руководстве рассказывается, как создать приложение Google Chat, которое реагирует на инциденты в реальном времени. При реагировании на инцидент приложение создает и заполняет чат-группу, помогает устранить инцидент с помощью сообщений, команд приложения и диалоговых окон, а также использует ИИ для создания сводки по реагированию на инцидент в документе Google.
Инцидент – это событие, требующее немедленного внимания команды специалистов. Примеры инцидентов:
- В CRM-системе создается срочный запрос, требующий совместной работы команды поддержки.
- Система переходит в офлайн-режим, и группа специалистов по контролю надежности сайтов (SRE) получает оповещение, чтобы они могли совместно восстановить ее работу.
- Произошло сильное землетрясение, и сотрудникам экстренных служб нужно скоординировать свои действия.
В этом руководстве оповещение об инциденте запускается, когда пользователь сообщает о нем, нажав кнопку на веб-странице. На веб-странице имитируется инцидент. Пользователям предлагается ввести основную информацию о нем: название, описание и адреса электронной почты ответственных лиц.
Посмотрите, как работает приложение "Управление инцидентами":
-
Рисунок 1. Сайт, на котором можно сообщить об инциденте. -
Рисунок 2. Уведомление о том, что создана чат-группа для инцидента. -
Рисунок 3. Чат-группа для реагирования на инциденты. -
Рисунок 4. Устранение инцидента с помощью быстрой команды. -
Рисунок 5. Диалоговое окно для устранения инцидента. -
Рисунок 6. Документ Google Документов с информацией об устранении инцидента, которым поделились в чат-группе. -
Рисунок 7. Документ Google Документов с кратким пересказом инцидента от ИИ.
Требования
Если вам нужно включить какие-либо из этих требований для вашей организации, попросите администратора Google Workspace сделать это:
- Аккаунт Google Workspace версии Business или Enterprise с доступом к Google Chat.
- В Google Workspace должен быть включен каталог (совместное использование контактов). Приложение для обработки инцидентов использует каталог, чтобы найти контактную информацию ответственных лиц, например имя и адрес электронной почты. Участники группы реагирования на инциденты должны иметь аккаунт Google Chat в организации Google Workspace.
Цели
- Создайте приложение Chat, которое реагирует на инциденты.
- Чтобы помочь пользователям реагировать на инциденты, выполните следующие действия:
- Создание чат-групп для реагирования на инциденты.
- Публикация сообщений с кратким описанием инцидентов и ответов.
- Поддержка совместной работы с помощью интерактивных функций чат-приложения.
- Краткий пересказ разговоров и решений с помощью Vertex AI.
Архитектура
На диаграмме ниже показана архитектура ресурсов Google Workspace и Google Cloud, используемых приложением Google Chat для реагирования на инциденты.

На схеме показано, как приложение Google Chat для реагирования на инциденты обрабатывает инцидент и его устранение.
Пользователь запускает инцидент с внешнего сайта, размещенного в Apps Script.
Сайт отправляет асинхронный HTTP-запрос приложению Google Chat, которое также размещено в Apps Script.
Приложение Google Chat для реагирования на инциденты обрабатывает запрос:
Сервис Admin SDK Apps Script получает информацию о членах команды, например идентификатор пользователя и адрес электронной почты.
С помощью набора HTTP-запросов к Chat API, используя расширенный сервис Chat Apps Script, приложение Google Chat для реагирования на инциденты создает чат-группу для инцидента, добавляет в нее участников команды и отправляет сообщение в чат-группу.
Участники команды обсуждают инцидент в чат-группе.
Сотрудник команды вызывает быструю команду, чтобы сообщить о решении инцидента.
Вызов HTTP к Chat API с помощью сервиса Apps Script Advanced Chat перечисляет все сообщения чат-группы Chat.
Vertex AI получает перечисленные сообщения и создает их краткий пересказ.
Сервис Apps Script
DocumentAppсоздает документ Google Документов и добавляет в него краткий пересказ от Vertex AI.Приложение Google Chat для реагирования на инциденты вызывает Chat API, чтобы отправить сообщение со ссылкой на сводку в документе Google Документов.
Подготовка среды
В этом разделе рассказывается, как создать и настроить проект Google Cloud для приложения Chat.
Как создать проект Google Cloud
Google API Console
- В Google API Console нажмите на значок меню > IAM & Admin (IAM и администрирование) > Create a Project (Создать проект).
-
В поле Project Name (Имя проекта) введите информативное название проекта.
Чтобы изменить идентификатор проекта, нажмите Изменить. Идентификатор проекта нельзя изменить после его создания, поэтому выберите подходящий вариант, так как он будет связан с проектом на протяжении всего периода его действия.
- В поле Местоположение нажмите Обзор, чтобы посмотреть возможные местоположения для проекта. Затем нажмите Выбрать.
- Нажмите Создать. Google API Console перейдет на страницу "Панель управления", и ваш проект будет создан в течение нескольких минут.
gcloud CLI
В одной из следующих сред разработки получите доступ к Google Cloud CLI (gcloud):
-
Cloud Shell: Чтобы использовать онлайн-терминал с уже настроенным gcloud CLI, активируйте Cloud Shell.
Активировать Cloud Shell -
Локальная оболочка. Чтобы использовать локальную среду разработки, установите и инициализируйте gcloud CLI.
Чтобы создать облачный проект, используйте командуgcloud projects create: Замените PROJECT_ID, указав идентификатор проекта, который хотите создать.gcloud projects create PROJECT_ID
Включите оплату для облачного проекта
Google API Console
- В Google API Console выберите Оплата. Нажмите Меню > Оплата > Мои проекты.
- В разделе Выберите организацию выберите организацию, связанную с вашим облачным проектом Google Cloud.
- В строке проекта откройте меню Действия (), нажмите Изменить платежные данные и выберите платежный аккаунт Cloud.
- Нажмите Выбрать аккаунт.
gcloud CLI
- Чтобы получить список доступных платежных аккаунтов, выполните следующую команду:
gcloud billing accounts list - Чтобы связать платежный аккаунт с проектом Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_IDЗамените следующее:
PROJECT_ID– это идентификатор проекта для облачного проекта, для которого вы хотите включить оплату.BILLING_ACCOUNT_ID– это идентификатор платежного аккаунта, который нужно связать с проектом Google Cloud.
Включение API
Google API Console
В Google API Console включите Google Chat API, Google Docs API, Admin SDK API и Vertex AI API.
Убедитесь, что вы включаете API в нужном облачном проекте, и нажмите Далее.
Убедитесь, что вы включаете нужные API, и нажмите Включить.
gcloud CLI
Если необходимо, задайте текущий облачный проект, используя созданный вами проект с помощью команды
gcloud config set project:gcloud config set project PROJECT_IDЗамените PROJECT_ID на идентификатор проекта облачного проекта, который вы создали.
Включите Google Chat API, Google Документы API, Admin SDK API и Vertex AI API с помощью команды
gcloud services enable:gcloud services enable chat.googleapis.com docs.googleapis.com admin.googleapis.com aiplatform.googleapis.com
Настройка аутентификации и авторизации
Аутентификация и авторизация позволяют приложению для Chat получать доступ к ресурсам в Google Workspace и Google Cloud для обработки инцидентов.
В этом руководстве вы публикуете приложение для внутреннего тестирования, поэтому можете использовать информацию-заполнитель. Перед публикацией приложения за пределами организации замените в экране согласия информацию-заполнитель на реальную.
В консоли API Google выберите "Меню > Платформа аутентификации Google > Брендинг".
Если вы уже настроили платформу Google Auth, вы можете задать следующие настройки окна запроса доступа OAuth в разделах Брендинг, Аудитория и Доступ к данным. Если вы видите сообщение Google Auth platform not configured yet (Платформа аутентификации Google ещё не настроена), нажмите Get Started (Начать):
- В разделе Информация о приложении в поле Название приложения введите
Incident Management with User Auth. - В поле Электронный адрес службы поддержки выберите свой адрес электронной почты или подходящую группу Google.
- Нажмите Далее.
- В разделе Аудитория выберите Внутренние. Если вы не можете выбрать Внутренний, выберите Внешний.
- Нажмите Далее.
- В разделе Контактная информация укажите адрес электронной почты, на который вы хотите получать уведомления об изменениях в проекте.
- Нажмите Далее.
- В разделе Завершение ознакомьтесь с правилами в отношении пользовательских данных сервисов API Google и, если вы согласны с ними, выберите Я принимаю правила в отношении пользовательских данных сервисов API Google.
- Нажмите Продолжить.
- Нажмите Создать.
- Если в качестве типа пользователя вы выбрали Внешний, добавьте тестовых пользователей:
- Нажмите Аудитория.
- В разделе Тестировщики нажмите Добавить пользователей.
- Введите свой адрес электронной почты и адреса других авторизованных тестировщиков, а затем нажмите Сохранить.
- В разделе Информация о приложении в поле Название приложения введите
Нажмите Доступ к данным > Добавить или удалить области действия. Появится панель со списком областей действия для каждого API, включенного в облачном проекте Google Cloud.
В разделе Добавить области действия вручную вставьте следующие области действия:
https://www.googleapis.com/auth/chat.spaces.createhttps://www.googleapis.com/auth/chat.membershipshttps://www.googleapis.com/auth/chat.memberships.apphttps://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/admin.directory.user.readonlyhttps://www.googleapis.com/auth/script.external_requesthttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/cloud-platform
Нажмите Добавить в таблицу.
Нажмите Обновить.
Выбрав нужные области действия, на странице Доступ к данным нажмите Сохранить.
Как создать и развернуть приложение Chat
В следующем разделе вы скопируете и обновите весь проект Apps Script, содержащий код приложения Chat, поэтому вам не придется копировать и вставлять каждый файл по отдельности.
В конце названий некоторых функций есть подчеркивание, например concatenateAllSpaceMessages_() из ChatApp.gs. Подчеркивание скрывает функцию на веб-странице инициализации инцидента, когда она открыта в браузере.
Подробнее о частных функциях…
Apps Script поддерживает два типа файлов: скрипты .gs и файлы .html. Чтобы обеспечить поддержку, клиентский JavaScript приложения включается в теги <script />, а CSS – в теги <style /> в HTML-файле.
При желании вы можете посмотреть весь проект на GitHub.
Ниже приведена информация о каждом файле.
Consts.gsОпределяет константы, на которые ссылаются другие файлы кода, в том числе идентификатор проекта Cloud, идентификатор местоположения Vertex AI, идентификатор быстрой команды для закрытия инцидента и модель Gemini.
Посмотреть
Consts.gsкодChatApp.gsОбрабатывает события взаимодействия с Chat, в том числе сообщения, нажатия кнопок, команды приложений и диалоговые окна. Отвечает на быструю команду
Close incident, открывая диалоговое окно для сбора информации об устранении инцидента. Читает сообщения в чат-группе, вызывая методspaces.messages.listв Chat API. Получает идентификаторы пользователей с помощью службы каталогов Admin SDK в Apps Script.Посмотреть
ChatApp.gsкодChatSpaceCreator.gsПолучает данные из формы, которую пользователи заполняют на веб-странице инициализации инцидента, и использует их для настройки чат-группы, создавая и заполняя ее, а затем публикует сообщение об инциденте.
Посмотреть
ChatSpaceCreator.gsкодDocsApi.gsВызывает Google Docs API, чтобы создать документ Google в Google Диске пользователя и записать в него краткую информацию об инциденте, созданную в
VertexAiApi.gs.Посмотреть
DocsApi.gsкодVertexAiApi.gsКратко пересказывает чат в чат-группе с помощью Vertex AI. Краткий пересказ будет опубликован в специально созданном документе в
DocsAPI.gs.Посмотреть
VertexAiApi.gsкодWebController.gsОбслуживает сайт инициализации инцидента.
Посмотреть
WebController.gsкодIndex.htmlHTML-код сайта, на котором инициализируется инцидент.
Посмотреть
Index.htmlкодJavaScript.htmlОбрабатывает поведение форм, включая отправку, ошибки и очистку, для сайта инициализации инцидента. Она включается в
Index.htmlс помощью специальной функцииincludeвWebController.gs.Посмотреть
JavaScript.htmlкодStylesheet.htmlCSS для сайта инициализации инцидента. Он включен в
Index.htmlс помощью специальной функцииincludeвWebController.gs.Посмотреть
Stylesheet.htmlкод
Как найти номер и идентификатор облачного проекта
В Google API Console перейдите к своему облачному проекту.
Нажмите "Настройки и утилиты" > Настройки проекта.
Запишите значения в полях Номер проекта и Идентификатор проекта. Вы будете использовать их в следующих разделах.
Как создать проект Apps Script
Чтобы создать проект Apps Script и подключить его к облачному проекту, выполните следующие действия:
- Нажмите на кнопку ниже, чтобы открыть проект Apps Script Приложение Chat для управления инцидентами с аутентификацией пользователей.
Открыть проект - Нажмите Обзор.
- На обзорной странице нажмите
Создать копию.
Укажите название копии проекта Apps Script:
Нажмите Копия приложения Chat "Управление инцидентами" с аутентификацией пользователей.
В поле Название проекта введите
Incident Management Chat app with User Auth.Нажмите Переименовать.
В копии проекта Apps Script перейдите к файлу
Consts.gsи задайтеPROJECT_IDс идентификатором облачного проекта.
Как задать облачный проект для проекта Apps Script
- В проекте Apps Script нажмите
Настройки проекта.
- В разделе Проект Google Cloud Platform (GCP) нажмите Изменить проект.
- В поле Номер проекта GCP вставьте номер облачного проекта.
- Нажмите Настроить проект. Облачный проект и проект Apps Script теперь связаны.
Как создать тестовое развертывание Apps Script
Теперь, когда весь код добавлен, разверните проект Apps Script. Идентификатор развертывания используется при настройке приложения Chat в Google Cloud.
В Apps Script откройте проект приложения для реагирования на инциденты.
Нажмите Развертывание > Тестирование развертываний.
Если Дополнение Google Workspace и Веб-приложение ещё не выбраны, рядом с пунктом Выберите тип нажмите на типы развертывания
и выберите Дополнение Google Workspace и Веб-приложение.
Apps Script предоставляет идентификатор развертывания и URL для веб-приложения.
Запишите URL веб-приложения, чтобы перейти по нему, когда начнете инцидент. Скопируйте идентификатор развертывания. Этот идентификатор используется при настройке приложения Chat в Google API Console.
Нажмите Готово.
Как настроить приложение Chat в Google API Console
В этом разделе рассказывается, как настроить Google Chat API в Google API Console, указав информацию о приложении Chat, в том числе идентификатор развертывания, созданного в проекте Apps Script.
В Google API Console нажмите Меню > API и сервисы > Включенные API и сервисы > Google Chat API > Конфигурация.
В поле Название приложения введите
Incident Management with User Auth.В поле URL аватара введите
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.В поле Описание введите
Responds to incidents.Переведите переключатель Включить интерактивные функции в положение "Включено".
В разделе Функциональность выберите Присоединяться к чат-группам и групповым чатам.
В разделе Настройки подключения выберите Скрипт приложений.
В поле Deployment ID (Идентификатор развертывания) вставьте идентификатор развертывания Apps Script, скопированный ранее из развертывания проекта Apps Script.
В разделе Триггеры настройте функции, которые будут реагировать на события взаимодействия:
- В поле Команда приложения введите
onAppCommand.
- В поле Команда приложения введите
Зарегистрируйте быструю команду, которую использует полностью реализованное приложение Chat:
В разделе Команды нажмите Добавить команду.
В поле Идентификатор команды введите
1.В поле Описание введите:
Closes the incident being discussed in the space.В разделе Тип команды выберите Быстрая команда.
В поле Название быстрой команды введите
Close incident.Выберите Открыть диалоговое окно.
Нажмите Готово. Команда зарегистрирована и указана в списке.
В разделе Видимость выберите Сделать это чат-приложение доступным для определенных пользователей и групп в домене Workspace и введите свой адрес электронной почты.
В разделе Журналы выберите Регистрировать ошибки в Logging.
Нажмите Сохранить. Появится сообщение о том, что конфигурация сохранена. Это означает, что приложение готово к тестированию.
Как протестировать приложение Chat
Чтобы протестировать приложение Chat для управления инцидентами, запустите инцидент на веб-странице и убедитесь, что приложение Chat работает должным образом:
Перейдите по URL веб-приложения, развернутого с помощью Apps Script.
Когда Apps Script запросит разрешение на доступ к вашим данным, нажмите Проверить разрешения, войдите в подходящий аккаунт Google в домене Google Workspace и нажмите Разрешить.
Откроется веб-страница инициализации инцидента. Введите информацию о тесте:
- В поле Incident title (Название инцидента) введите
The First Incident. - При необходимости в разделе Специалисты по реагированию на инциденты введите адреса электронной почты других специалистов. Это должны быть пользователи с аккаунтом Google Chat в вашей организации Google Workspace, иначе создать чат-группу не получится. Не указывайте свой адрес электронной почты, так как он будет добавлен автоматически.
- В поле Начальное сообщение введите
Testing the incident management Chat app..
- В поле Incident title (Название инцидента) введите
Нажмите Создать чат-группу. Появится сообщение
creating space.После создания чат-группы появится сообщение
Space created!. Нажмите Открыть чат-группу. Чат-группа откроется в Chat на новой вкладке.При необходимости вы и другие специалисты по реагированию на инциденты можете отправлять сообщения в чат-группу. Приложение кратко пересказывает эти сообщения с помощью Vertex AI и создает документ с ретроспективой.
Чтобы завершить реагирование на инцидент и начать процесс устранения неполадок, в чат-группе запустите быструю команду
Close incident. Откроется диалоговое окно управления инцидентами.В поле Закрыть инцидент введите описание решения инцидента, например
Test complete.Нажмите Закрыть инцидент.
Приложение "Управление инцидентами" перечисляет сообщения в чат-группе, создает их краткое содержание с помощью Vertex AI, вставляет его в документ Google Документов и делится этим документом в чат-группе.
Организовать
Чтобы избежать списания средств с аккаунта Google Cloud за ресурсы, использованные в этом руководстве, рекомендуем удалить облачный проект.
- В Google API Console перейдите на страницу Управление ресурсами. Нажмите Меню > IAM и администрирование > Управление ресурсами.
- В списке проектов выберите проект, который хотите удалить, и нажмите Удалить .
- В диалоговом окне введите идентификатор проекта и нажмите Закрыть, чтобы удалить проект.
Статьи по теме
- Планируйте поездки с помощью ИИ-агента, доступного в Google Workspace
- Ответы на вопросы на основе чатов с ИИ-приложением Gemini
- Управляйте проектами с помощью Google Chat, Vertex AI и Firestore
- Как проверить факты с помощью ИИ-агента ADK и модели Gemini
- Интеграция основных концепций ИИ в приложения Chat
- Как создать приложение для Chat в виде дополнения Google Workspace с помощью Apps Script