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

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

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

기본 요건

목표

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

사용 제품

프로젝트 관리 앱은 다음과 같은 Google Workspace 및 Google Cloud 제품을 사용합니다.

  • Chat API: 메시지와 같은 채팅 상호작용 이벤트를 수신하고 이에 응답하는 Google Chat 앱을 개발하기 위한 API입니다. 프로젝트 관리 Google Chat 앱은 Chat API를 사용하여 Chat에서 전송하는 상호작용 이벤트를 수신하고 응답하며 이름, 아바타 이미지와 같이 Chat에 표시되는 방식을 결정하는 속성을 구성합니다.
  • Vertex AI API: 생성형 AI 플랫폼입니다. 프로젝트 관리 Google Chat 앱은 Vertex AI API를 사용하여 사용자 스토리 제목과 설명을 작성합니다.
  • Firestore: 서버리스 문서 데이터베이스입니다. 프로젝트 관리 Google Chat 앱은 Firebase를 사용하여 사용자 스토리에 대한 데이터를 저장합니다.
  • Cloud Functions: 서버 또는 런타임 환경을 관리할 필요 없이 Chat 상호작용 이벤트에 대응하는 단일 목적의 독립형 함수를 만들 수 있게 해주는 경량 서버리스 컴퓨팅 서비스입니다. 프로젝트 관리 Google Chat 앱은 Cloud Functions를 사용하여 Chat이 상호작용 이벤트를 전송하는 HTTP 엔드포인트를 호스팅하고 이러한 이벤트를 처리하고 응답하는 로직을 실행하는 컴퓨팅 플랫폼으로 사용합니다.

    Cloud Functions는 다음 Google Cloud 제품을 사용하여 빌드 및 상호작용 이벤트를 처리하고 컴퓨팅 리소스를 호스팅합니다.

    • Cloud Build: 자동 빌드를 실행하는 완전 관리형 지속적 통합, 전송, 배포 플랫폼입니다.
    • Pub/Sub: 메시지를 생성하는 서비스를 해당 메시지를 처리하는 서비스에서 분리하는 확장 가능한 비동기 메시지 서비스입니다.
    • Cloud Run Admin API: 컨테이너화된 앱을 실행하기 위한 완전 관리형 환경입니다.

아키텍처

프로젝트 관리 Google Chat 앱 아키텍처는 HTTP 엔드포인트에서 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를 설치하고 초기화합니다.
    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 함수에 연결된 기본 서비스 계정과 함께 애플리케이션 기본 사용자 인증 정보를 사용합니다. 프로덕션 환경에서는 일반적으로 서비스 계정을 create 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
사용자의 채팅 아바타 이미지를 호스팅하는 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
Chat 앱을 지정된 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
카드 클릭 Chat 상호작용 이벤트를 처리하는 애플리케이션 로직입니다.
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 함수 만들기 및 배포

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

Cloud 함수는 Chat 상호작용 이벤트가 포함된 Chat의 HTTP 요청에 대한 응답으로 실행됩니다. 실행하면 Cloud 함수 코드가 이벤트를 처리하고 Chat에 응답을 반환합니다. 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로 이동

    채팅 앱의 Google Cloud 프로젝트가 선택되어 있는지 확인합니다.

  5. 함수 만들기를 클릭합니다.

  6. 함수 만들기 페이지에서 함수를 설정합니다.

    1. 환경에서 Cloud Run 함수를 선택합니다.
    2. 함수 이름project-management-tutorial를 입력합니다.
    3. 리전에서 리전을 선택합니다.
    4. 인증에서 인증되지 않은 호출 허용을 선택합니다.
    5. 다음을 클릭합니다.
  7. 런타임에서 Node.js 20을 선택합니다.

  8. 진입점에서 기본 텍스트를 삭제하고 projectManagementChatApp를 입력합니다.

  9. 소스 코드에서 Zip 업로드를 선택합니다.

  10. 대상 버킷에서 버킷을 create 선택합니다.

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

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

  11. Zip 파일에 GitHub에서 다운로드한 ZIP 파일을 압축 해제하여 다시 압축합니다.

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

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

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

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

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

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

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

Google Cloud 콘솔에서 Google Chat 앱 구성

이 섹션에서는 채팅 앱 이름, 지원되는 슬래시 명령어, 채팅 상호작용 이벤트를 전송할 채팅 앱 Cloud 함수의 트리거 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. 연결 설정에서 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 설명 대화상자 열기
      /createUserStory 1 지정된 제목으로 스토리를 만듭니다. 선택 해제됨
      /myUserStories 2 사용자에게 할당된 모든 기사를 나열합니다. 선택 해제됨
      /userStory 3 지정된 스토리의 현재 상태를 표시합니다. 선택 해제됨
      /manageUserStories 4 스토리를 수정할 수 있는 대화상자를 엽니다. 선택됨
      /cleanupUserStories 5 스페이스의 모든 스토리를 삭제합니다. 선택 해제됨
  10. 공개 상태에서 Workspace 도메인의 특정 사용자 및 그룹에서 이 Chat 앱을 사용할 수 있도록 설정을 선택하고 이메일 주소를 입력합니다.

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

  12. 저장을 클릭합니다. 구성에 저장된 메시지가 표시됩니다. 즉, 채팅 앱을 테스트할 준비가 되었음을 의미합니다.

채팅 앱 테스트

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

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

    Google Chat으로 이동

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

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

    Firestore로 이동

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

    Google Chat으로 이동

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

문제 해결

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

Chat UI에 오류 메시지가 표시되지 않을 수 있지만 채팅 앱의 오류 로깅이 사용 설정되어 있을 때 오류 메시지 및 로그 데이터를 사용하여 오류를 해결할 수 있습니다. 오류를 보고, 디버그하고, 수정하는 방법에 관한 도움말은 Google Chat 오류 문제 해결하기를 참고하세요.

삭제

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

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

    Resource Manager로 이동

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