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

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

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

기본 요건

목표

  • 애자일 소프트웨어 프로젝트를 관리하는 Chat 앱을 빌드합니다.
  • 사용자가 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 응답을 반환하며, Chat은 이를 메시지 또는 대화상자로 사용자에게 표시합니다.

환경 준비

이 섹션에서는 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를 설치하고 초기화합니다.
    Cloud 프로젝트를 만들려면 gcloud projects create 명령어를 사용합니다.
    gcloud projects create PROJECT_ID
    만들려는 프로젝트의 ID를 설정하여 PROJECT_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 요청으로 수신된 이벤트에 대한 응답으로 Chat 앱의 코드를 호스팅하고 실행하는 Cloud 함수를 만듭니다.
  4. Google Chat API 구성 페이지에서 Google Chat 앱을 만들고 배포합니다.

Firestore 데이터베이스 만들기

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

프로젝트 관리 채팅 앱 데이터베이스는 컬렉션으로 구성된 문서를 기반으로 하는 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
작업을 완료해야 하는 긴급성입니다. 가능한 값은 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 모드 선택에서 기본 모드를 클릭합니다.

  4. 계속을 클릭합니다.

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

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

    2. 위치 유형에서 데이터베이스의 리전(예: us-central1)을 지정합니다. 최적의 성능을 위해 Chat 앱의 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 프로젝트 및 리전에 Chat 앱을 배포하는 환경 구성 변수입니다. 이 파일에서 구성 변수를 업데이트해야 합니다.
package.jsonpackage-lock.json
Node.js 프로젝트 설정 및 종속 항목
index.js
채팅 앱의 Cloud 함수의 진입점입니다. HTTP 요청에서 Chat 이벤트를 읽고, 앱 핸들러를 호출하고, 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
이러한 파일에는 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 앱이 카드 메시지 또는 대화상자 작업 응답으로 Chat에 다시 전송하는 카드 객체를 인스턴스화합니다.
views/widgets/*.js
각 파일은 앱이 views/ 디렉터리의 카드를 빌드하는 데 사용하는 위젯 객체 유형을 인스턴스화합니다.
test/**/*.test.js
이 디렉터리와 하위 디렉터리의 각 파일에는 해당 함수, 컨트롤러, 서비스, 뷰 또는 위젯의 단위 테스트가 포함됩니다. 프로젝트의 루트 디렉터리에 있는 동안 npm run test를 실행하여 모든 단위 테스트를 실행할 수 있습니다.

Cloud 함수 만들기 및 배포

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

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

  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. 선택사항: us-central1을 Cloud 함수의 지원되는 위치로 업데이트합니다.
  14. 배포를 클릭합니다.

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

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

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

    REGION을 인프라가 호스팅되는 Cloud Functions 위치(예: us-central1)로 바꿉니다.

  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. 기능에서 스페이스 및 그룹 대화 참여를 선택합니다.

  7. 연결 설정에서 HTTP 엔드포인트 URL을 선택합니다.

  8. HTTP 엔드포인트 URL에 Cloud Functions 배포에서 복사한 트리거 URL을 https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial 형식으로 붙여넣습니다. gcloud CLI로 Cloud 함수를 배포한 경우 url 속성입니다.

  9. Chat 앱의 슬래시 명령어를 등록합니다. 슬래시 명령어를 등록하려면 다음 단계를 따르세요.

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

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

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

  12. 저장을 클릭합니다. 구성 저장 메시지가 표시됩니다. 즉, Chat 앱을 테스트할 준비가 된 것입니다.

채팅 앱 테스트

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

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

    Google Chat으로 이동

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

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

    Firestore로 이동

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

    Google Chat으로 이동

  9. 원하는 경우 수정을 클릭하여 스토리를 수정할 수 있습니다. 스토리가 만족스러우면 저장을 클릭합니다.
  10. 앱에서 지원하는 각 슬래시 명령어를 테스트합니다. 슬래시 명령어를 보려면 /를 입력하거나 Chat 앱을 멘션하세요.
  11. /cleanupUserStories 슬래시 명령어를 실행하여 테스트 사용자 스토리 삭제 또는 앱을 삭제하거나 제거합니다. 삭제되면 앱이 해당 스페이스에서 생성된 모든 사용자 스토리지를 삭제합니다.

문제 해결

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

채팅 UI에 오류 메시지가 표시되지 않을 수도 있지만, 채팅 앱의 오류 로깅이 사용 설정된 경우 오류를 수정하는 데 도움이 되는 설명이 포함된 오류 메시지와 로그 데이터를 사용할 수 있습니다. 오류를 확인하고, 디버그하고, 수정하는 데 도움이 필요하면 Google Chat 오류 문제 해결 및 수정을 참고하세요.

삭제

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

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

    Resource Manager로 이동

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