Google Chat, Vertex AI, Firestore를 사용한 프로젝트 관리

이 튜토리얼에서는 팀에서 실시간으로 프로젝트를 관리하는 데 사용할 수 있는 Google Chat 앱을 만드는 방법을 보여줍니다. 채팅 앱은 Vertex AI를 사용하여 팀이 사용자 스토리 (팀이 개발할 사용자의 관점에서 소프트웨어 시스템의 기능을 나타내는)를 작성하고 Firestore 데이터베이스에 스토리를 유지할 수 있도록 지원합니다.

  • 프로젝트 관리 앱을 언급하면 앱에서 도움을 제공하라는 메시지를 표시합니다.
    그림 1. 찰리가 팀과 함께 Chat 스페이스의 기능 개발에 대해 논의합니다. 프로젝트 관리 채팅 앱을 언급하면 채팅 앱에 도움을 요청하는 메시지가 표시됩니다.
  • /createUserStory 슬래시 명령어를 사용하여 스토리를 만듭니다.
    그림 2. 찰리는 /createUserStory 슬래시 명령어를 사용하여 스토리를 만듭니다.
  • 프로젝트 관리 채팅 앱은 Vertex AI를 사용하여 스토리 설명을 작성합니다.
    그림 3. 프로젝트 관리 채팅 앱은 Vertex AI를 사용하여 스토리 설명을 작성한 후 스페이스에서 스토리를 공유합니다.
  • 찰리가 스토리를 마무리합니다.
    그림 4. 찰리가 수정을 클릭하여 뉴스 세부정보를 마무리합니다. AI 설명은 정확하지만 찰리는 더 자세한 세부정보를 원하므로 찰리는 펼치기를 클릭하여 Vertex AI가 스토리 설명에 요구사항을 추가하도록 합니다. 찰리는 스토리를 자신에게 할당하고 상태를 시작됨으로 설정하고 적절한 우선순위와 크기를 선택한 다음 저장을 클릭합니다.
  • 팀의 모든 사용자 사례 관리
    그림 5. 언제든지 /manageUserStories 슬래시 명령어로 팀의 모든 사용자 스토리를 확인하고 관리할 수 있습니다.

기본 요건

목표

  • 민첩한 소프트웨어 프로젝트를 관리하는 채팅 앱을 빌드합니다.
  • 사용자가 Vertex AI에서 제공하는 생성형 AI 지원 스토리 작성 도구로 사용자 스토리 작성을 지원합니다.
    • 스토리 설명을 생성하고 재생성합니다.
    • 메모에서 스토리 설명을 확장하여 요구사항을 완료하세요.
    • 문법을 수정하여 오타를 수정합니다.
  • Firestore 데이터베이스에서 데이터를 쓰고 읽어서 작업을 최신 상태로 유지합니다.
  • 사용자가 대화에서 바로 스토리를 생성, 수정, 할당, 시작할 수 있도록 하여 Chat 스페이스에서 공동작업을 용이하게 합니다.

사용 제품

프로젝트 관리 앱에서는 다음 Google Workspace 및 Google Cloud 제품을 사용합니다.

  • Chat API: 메시지와 같은 Chat 상호작용 이벤트를 수신하고 응답하는 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 엔드포인트에서 Chat 상호작용 이벤트를 수신 및 처리하고, Vertex AI를 사용하여 사용자 스토리를 작성하고, Firestore 데이터베이스에 사용자 스토리 세부정보를 저장합니다. 다음 다이어그램은 사용된 Google Workspace 및 Google Cloud 리소스의 아키텍처를 보여줍니다.

프로젝트 관리 Google Chat 앱의 아키텍처 다이어그램

프로젝트 관리 Google Chat 앱은 다음과 같이 작동합니다.

  1. 사용자는 Chat에서 메시지를 보내고 직접 메시지를 보내거나 스페이스에서 언급하거나 슬래시 명령어를 입력하여 프로젝트 관리 Google Chat 앱을 호출합니다.

  2. Chat은 Cloud 함수의 HTTP 엔드포인트에 동기 HTTP 요청을 보냅니다.

  3. 프로젝트 관리 Google Chat 앱은 HTTP 요청을 처리합니다.

    1. Vertex AI는 사용자 스토리를 작성하거나 업데이트하는 데 도움이 됩니다.

    2. Firestore 데이터베이스는 사용자 스토리 데이터를 저장, 검색, 업데이트 또는 삭제합니다.

  4. Cloud Functions는 Chat에 HTTP 응답을 반환하여 사용자에게 메시지 또는 대화상자로 표시합니다.

환경 준비

이 섹션에서는 채팅 앱용 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 Billing 계정을 선택합니다.
  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 및 Vertex AI API를 호출하기 위해 이 튜토리얼에서는 설정할 필요가 없는 Cloud 함수에 연결된 기본 서비스 계정과 함께 애플리케이션 기본 사용자 인증 정보를 사용합니다. 프로덕션 환경의 컨텍스트에서는 일반적으로 서비스 계정을 만들어 Cloud 함수에 연결합니다.

Google Chat 앱 만들기 및 배포

이제 Google Cloud 프로젝트가 생성되고 구성되었으므로 Google Chat 앱을 빌드하고 배포할 수 있습니다. 이 섹션에서는 다음을 수행합니다.

  1. 사용자 스토리를 유지하고 가져올 Firestore 데이터베이스를 만듭니다.
  2. 필요한 경우 샘플 코드를 검토합니다.
  3. Chat에서 HTTP 요청으로 수신된 이벤트에 대한 응답으로 채팅 앱의 코드를 호스팅하고 실행하는 Cloud 함수를 만듭니다.
  4. Google Chat API 구성 페이지에서 Google Chat 앱을 만들고 배포합니다.

Firestore 데이터베이스 만들기

이 섹션에서는 사용자 스토리를 유지하고 검색할 Firestore 데이터베이스를 만들지만 데이터 모델을 정의하지는 않습니다. 데이터 모델은 model/user-story.jsmodel/user.js 파일에 의해 샘플 코드에서 암시적으로 설정됩니다.

프로젝트 관리 채팅 앱 데이터베이스는 컬렉션으로 구성된 문서를 기반으로 하는 NoSQL 데이터 모델을 사용합니다. 자세한 내용은 Firestore 데이터 모델을 참조하세요.

다음 다이어그램은 프로젝트 관리 Google Chat 앱의 데이터 모델을 간략하게 나타낸 것입니다.

Firestore 데이터베이스의 데이터 모델입니다.

루트 컬렉션은 spaces이며, 여기서 각 문서는 채팅 앱이 스토리를 만든 공간을 나타냅니다. 각 사용자 스토리는 userStories 하위 컬렉션의 문서로 표현되고 각 사용자는 users 하위 컬렉션의 문서로 표현됩니다.

컬렉션, 문서, 필드 정의 보기

spaces

채팅 앱에서 스토리를 만든 스페이스

입력란
Document IDString
스토리가 생성되는 특정 공간의 고유 ID입니다. Chat API의 스페이스 리소스 이름에 해당합니다.
userStoriesSubcollection of Documents (userStories)
채팅 앱 및 해당 사용자가 만든 스토리입니다. Firebase에서 userStoriesDocument ID에 해당합니다.
usersSubcollection of Documents (user)
스토리를 만든 사용자 또는 스토리가 할당된 사용자
displayNameString
Chat API의 스페이스 표시 이름입니다. 사용자와의 채팅 메시지에 설정되지 않음

userStories

채팅 앱 및 해당 사용자가 만든 스토리입니다.

입력란
Document IDString
채팅 앱 및 해당 사용자가 만든 특정 사용자 스토리의 고유 ID입니다.
assigneeDocument (user)
스토리 완료를 위해 할당된 사용자의 리소스 이름입니다. users 문서의 Document ID 및 Chat API의 사용자 리소스 이름에 해당합니다.
descriptionString
사용자의 관점에서 소프트웨어 기능을 설명합니다.
priorityEnum
작업 완료의 긴급성 가능한 값은 Low, Medium 또는 High입니다.
sizeEnum
작업량 가능한 값은 Small, Medium 또는 Large입니다.
statusEnum
작업 단계. 가능한 값은 OPEN, STARTED 또는 COMPLETED입니다.
titleString
이야기의 제목으로, 간략한 요약입니다.

users

스토리를 만든 사용자 또는 할당된 사용자

입력란
Document IDString
특정 사용자의 고유 ID입니다. Firebase에서 userStoriesassignee 및 Chat API의 사용자 리소스 이름에 해당합니다.
avatarUrlString
사용자의 Chat 아바타 이미지를 호스팅하는 URL입니다.
displayNameString
사용자의 Chat 표시 이름입니다.

Firestore 데이터베이스를 만드는 방법은 다음과 같습니다.

Google Cloud 콘솔

  1. Google Cloud Console에서 Firestore로 이동합니다. 메뉴 > Firestore를 클릭합니다.

    Firestore로 이동

  2. 데이터베이스 만들기를 클릭합니다.

  3. Firestore 모드 선택에서 Native 모드를 클릭합니다.

  4. 계속을 클릭합니다.

  5. 데이터베이스를 구성합니다.

    1. 데이터베이스 이름 지정에서 데이터베이스 ID(default)로 둡니다.

    2. 위치 유형에서 데이터베이스의 리전을 지정합니다(예: us-central1). 최상의 성능을 위해 채팅 앱의 Cloud 함수와 동일하거나 가까운 위치를 선택하세요.

  6. 데이터베이스 만들기를 클릭합니다.

gcloud CLI

  • gcloud firestore databases create 명령어를 사용하여 기본 모드로 Firestore 데이터베이스를 만듭니다.

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

    LOCATIONFirestore 리전 이름(예: us-central1)으로 바꿉니다.

샘플 코드 검토

원하는 경우 Cloud 함수를 만들기 전에 잠시 시간을 내어 GitHub에서 호스팅되는 샘플 코드를 검토하고 숙지합니다.

GitHub에서 보기

다음은 각 파일의 개요입니다.

env.js
채팅 앱을 지정된 Google Cloud 프로젝트 및 리전에 배포하기 위한 환경 구성 변수입니다. 이 파일의 구성 변수를 업데이트해야 합니다.
package.jsonpackage-lock.json
Node.js 프로젝트 설정 및 종속 항목
index.js
채팅 앱의 Cloud 함수의 진입점입니다. HTTP 요청에서 Chat 이벤트를 읽고 앱 핸들러를 호출하고 HTTP 응답을 JSON 객체로 게시합니다.
controllers/app.js
기본 애플리케이션 로직 채팅 앱 멘션 및 슬래시 명령어를 처리하여 상호작용 이벤트를 처리합니다. 카드 클릭에 응답하기 위해 app-action-handler.js를 호출합니다.
controllers/app-action-handler.js
카드 클릭 채팅 상호작용 이벤트를 처리하는 애플리케이션 로직
services/space-service.js, services/user-service.js, services/user-story-service.js
이러한 파일에는 Chat 스페이스, 사용자, 사용자 스토리 작업과 관련된 애플리케이션 로직의 일부가 포함되어 있습니다. 이러한 파일의 함수는 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
생성형 AI 텍스트 예측을 위해 Vertex AI API를 호출합니다.
model/*.js
이러한 파일에는 애플리케이션 서비스가 데이터를 저장하고 함수 간에 전달하는 데 사용하는 클래스 및 enum의 정의가 포함되어 있습니다. Firestore 데이터베이스의 데이터 모델을 설정합니다.
views/*.js
이 디렉터리의 각 파일은 채팅 앱이 카드 메시지 또는 대화상자 작업 응답의 형태로 Chat에 다시 전송하는 카드 객체를 인스턴스화합니다.
views/widgets/*.js
각 파일은 앱이 views/ 디렉터리에 카드를 빌드하는 데 사용하는 위젯 객체 유형을 인스턴스화합니다.
test/**/*.test.js
이 디렉터리와 하위 디렉터리의 각 파일에는 상응하는 함수, 컨트롤러, 서비스, 뷰 또는 위젯의 단위 테스트가 포함되어 있습니다. 프로젝트의 루트 디렉터리에서 npm run test를 실행하여 모든 단위 테스트를 실행할 수 있습니다.

Cloud 함수 만들기 및 배포

이 섹션에서는 프로젝트 관리 채팅 앱의 애플리케이션 로직으로 구성된 Cloud 함수를 만들고 배포합니다.

Cloud 함수는 Chat 상호작용 이벤트가 포함된 Chat의 HTTP 요청에 대한 응답으로 실행됩니다. 실행되면 Cloud 함수 코드는 이벤트를 처리하고 Chat에 응답을 반환합니다. Chat은 이 응답을 메시지, 대화상자 또는 다른 유형의 사용자 상호작용으로 렌더링합니다. 해당하는 경우 Cloud 함수는 Firestore 데이터베이스에서 읽거나 씁니다.

Cloud 함수를 만드는 방법은 다음과 같습니다.

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 upload를 선택합니다.

  10. 대상 버킷에서 버킷을 만들거나 선택합니다.

    1. 탐색을 클릭합니다.
    2. 버킷을 선택합니다.
    3. 선택을 클릭합니다.

    Google Cloud가 ZIP 파일을 이 버킷에 업로드하고 이 버킷의 구성요소 파일을 추출합니다. 그런 다음 Cloud Functions가 구성요소 파일을 Cloud 함수에 복사합니다.

  11. Zip 파일에 GitHub에서 다운로드한 ZIP 파일을 업로드하고 추출하여 다시 압축합니다.

    1. 탐색을 클릭합니다.
    2. ZIP 파일로 이동하여 선택합니다.
    3. 열기를 클릭합니다.
  12. 배포를 클릭합니다.

    Cloud Functions 세부정보 페이지가 열리고 함수가 두 개의 진행률 표시기(빌드용 및 서비스용)와 함께 표시됩니다. 두 진행 상태 표시기가 모두 사라지고 체크표시로 바뀌면 함수가 배포되어 준비된 것입니다.

  13. 샘플 코드를 수정하여 상수를 설정합니다.

    1. Cloud 함수 세부정보 페이지에서 수정을 클릭합니다.
    2. 다음을 클릭합니다.
    3. 소스 코드에서 인라인 편집기를 선택합니다.
    4. 인라인 편집기에서 env.js 파일을 엽니다.
    5. project-id를 Cloud 프로젝트 ID로 바꿉니다.
    6. 선택사항: Cloud 함수에서 지원되는 위치us-central1을 업데이트합니다.
  14. 배포를 클릭합니다.

  15. 함수 배포가 완료되면 트리거 URL을 복사합니다.

    1. 함수 세부정보 페이지에서 트리거를 클릭합니다.
    2. URL을 복사합니다. 다음 섹션에서 채팅 앱을 구성하는 데 필요합니다.

gcloud CLI

  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 프로젝트 ID로 바꿉니다.
    2. us-central1를 Google Cloud 프로젝트 위치로 바꿉니다.
  4. Google Cloud에 Cloud 함수를 배포합니다.

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

    REGIONus-central1와 같이 인프라가 호스팅되는 Cloud 함수 위치로 바꿉니다.

  1. 함수 배포가 완료되면 응답에서 url 속성을 복사합니다. 이 URL은 다음 섹션에서 Google Chat 앱을 구성할 때 사용하는 트리거 URL입니다.

Google Cloud 콘솔에서 Google Chat 앱 구성하기

이 섹션에서는 채팅 앱 이름, 지원되는 슬래시 명령어, 채팅 상호작용 이벤트를 전송하는 채팅 앱의 Cloud Functions 트리거 URL 등 채팅 앱에 대한 정보로 Google Cloud 콘솔에서 Chat API를 구성하는 방법을 보여줍니다.

  1. Google Cloud 콘솔에서 메뉴 > 제품 더보기 > Google Workspace > 제품 라이브러리 > Google Chat API > 관리 > 구성을 클릭합니다.

    Chat API 구성으로 이동

  2. 앱 이름Project Manager을 입력합니다.

  3. 아바타 URLhttps://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 함수를 배포한 경우 url 속성입니다.

  9. 채팅 앱의 슬래시 명령어를 등록합니다. 슬래시 명령어를 등록하려면 다음 안내를 따르세요.

    1. 슬래시 명령어에서 슬래시 명령어 추가를 클릭합니다.
    2. 다음 표에 설명된 각 슬래시 명령어에 대해 이름, 명령 ID, 설명을 입력하고 슬래시 명령어인 대화상자 열기 여부를 선택한 후 완료를 클릭합니다.

      이름 명령어 ID 설명 대화상자 열기
      /createUserStory 1 지정된 제목으로 스토리를 만듭니다. 선택 해제됨
      /myUserStories 2 사용자에게 할당된 모든 스토리를 나열합니다. 선택 해제됨
      /userStory 3 지정된 스토리의 현재 상태를 표시합니다. 선택 해제됨
      /manageUserStories 4 스토리를 수정할 수 있는 대화상자가 열립니다. 선택됨
      /cleanupUserStories 5 스페이스의 모든 스토리를 삭제합니다. 선택 해제됨
  10. 공개 상태에서 이 채팅 앱을 Workspace 도메인의 특정 사용자 및 그룹에서 사용할 수 있도록 설정을 선택하고 이메일 주소를 입력합니다.

  11. 필요한 경우 로그에서 Logging에 오류 로깅을 선택합니다.

  12. 저장을 클릭합니다. 구성이 저장됨 메시지가 표시되면 채팅 앱을 테스트할 준비가 되었다는 의미입니다.

채팅 앱 테스트

프로젝트 관리 채팅 앱에 메시지를 보내고 슬래시 명령어를 사용하여 사용자 스토리를 생성, 수정, 삭제하여 프로젝트 관리 채팅 앱을 테스트합니다.

  1. 본인을 신뢰할 수 있는 테스터로 추가할 때 입력한 Google Workspace 계정을 사용하여 Google Chat을 엽니다.

    Google Chat으로 이동

  2. 새 채팅을 클릭합니다.
  3. 1명 이상의 사용자 추가 필드에 채팅 앱의 이름을 입력합니다.
  4. 결과에서 채팅 앱을 선택합니다. 채팅 메시지가 열립니다.

  5. 앱과의 새 채팅 메시지에 Hello를 입력하고 enter를 누릅니다. 프로젝트 관리 Chat 앱은 수행할 수 있는 작업을 자세히 설명하는 도움말 메뉴로 응답합니다.
  6. 스토리를 만들려면 메시지 표시줄에 /createUserStory Test story를 입력하고 전송합니다. 프로젝트 관리 Chat 앱은 Vertex AI의 생성형 AI를 사용하여 생성된 사용자 스토리를 자세히 설명하는 카드 메시지로 응답합니다.
  7. Console에서 Firestore 데이터베이스를 확인하여 채팅 앱을 추가한 스페이스, 앱과 상호작용한 사용자, 생성한 사용자 스토리에 관해 생성된 레코드를 검토합니다.

    Firestore로 이동

  8. Google Chat으로 돌아갑니다.

    Google Chat으로 이동

  9. 스토리를 수정하려면 수정을 클릭합니다(선택사항). 스토리에 문제가 없으면 저장을 클릭합니다.
  10. 앱에서 지원하는 각 슬래시 명령어를 테스트합니다. 확인하려면 /를 입력하거나 채팅 앱을 언급합니다.
  11. /cleanupUserStories 슬래시 명령어를 실행하여 테스트 사용자 스토리를 삭제합니다. 또는 앱을 삭제하거나 제거합니다. 앱을 삭제하면 해당 스페이스에서 생성된 모든 사용자 스토리가 삭제됩니다.

문제 해결

Google Chat 앱 또는 카드에서 오류를 반환하면 Chat 인터페이스에 '문제 발생' 또는 '요청을 처리할 수 없습니다'라는 메시지가 표시됩니다. 채팅 UI에는 오류 메시지가 표시되지 않지만 채팅 앱 또는 카드에서 예기치 않은 결과가 발생하는 경우가 있습니다. 예를 들어 카드 메시지가 표시되지 않을 수 있습니다.

Chat UI에 오류 메시지가 표시되지 않더라도 채팅 앱에 대한 오류 기록이 사용 설정되어 있을 때 오류를 수정하는 데 도움이 되는 자세한 오류 메시지와 로그 데이터가 제공됩니다. 오류를 확인, 디버깅, 수정하는 데 도움이 필요하면 Google Chat 오류 문제 해결 및 수정하기를 참고하세요.

삭제

이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 Cloud 프로젝트를 삭제하는 것이 좋습니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다. 메뉴 > IAM 및 관리자 > 리소스 관리를 클릭합니다.

    Resource Manager로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.