Gerenciar projetos com o Google Chat, a Vertex AI e o Firestore

Neste tutorial, mostramos como criar um app do Google Chat que uma equipe pode usar para gerenciar projetos em tempo real. O app do Chat usa a Vertex AI para ajudar as equipes a escrever histórias de usuários (que representam recursos de um sistema de software do ponto de vista de um usuário para desenvolvimento da equipe) e mantém as histórias em um banco de dados do Firestore.

  • Mencionar o app de gerenciamento de projetos faz com que ele ofereça ajuda.
    Figura 1. Charlie discute o desenvolvimento de recursos em um espaço do Chat com a equipe. Mencionar o app de chat de gerenciamento de projetos faz com que ele ofereça ajuda.
  • Usando o comando de barra /createUserStory para criar uma história.
    Figura 2. Usando o comando de barra /createUserStory, Charlie cria uma história.
  • O app de chat de gerenciamento de projetos usa a Vertex AI para escrever a descrição da história.
    Figura 3. O app do Chat de gerenciamento de projetos usa a Vertex AI para escrever a descrição da história e compartilhá-la no espaço.
  • Charlie finaliza os detalhes da história.
    Figura 4. Charlie clica em Editar para finalizar os detalhes da história. A descrição da IA é precisa, mas Charlie quer mais detalhes. Por isso, ele clica em Expandir para que a Vertex AI adicione requisitos à descrição da história. Ele atribui a história a si mesmo, define o status como iniciada, seleciona a prioridade e o tamanho apropriados e clica em Salvar.
  • Gerenciar todas as histórias de usuário da equipe.
    Figura 5. A qualquer momento, Carlos pode ver e gerenciar todas as histórias de usuários da equipe com o comando de barra /manageUserStories.

Pré-requisitos

Objetivos

  • Crie um app do Chat que gerencie projetos de software ágeis.
  • Ajude os usuários a escrever histórias de usuário com ferramentas de escrita de histórias com IA generativa da Vertex AI:
    • Gerar e regenerar descrições de histórias.
    • Expanda as descrições das histórias das anotações para completar os requisitos.
    • Corrija a gramática para corrigir erros de digitação.
  • Mantenha o trabalho atualizado gravando e lendo em um banco de dados do Firestore.
  • Facilite a colaboração em um espaço do Chat permitindo que os usuários criem, editem, atribuam e iniciem histórias diretamente na conversa.

Produtos usados

O app de gerenciamento de projetos usa os seguintes produtos do Google Workspace e do Google Cloud:

  • API Chat: uma API para desenvolver apps do Google Chat que recebem e respondem a eventos de interação do Chat, como mensagens. O app do Google Chat para gerenciamento de projetos usa a API Chat para receber e responder a eventos de interação enviados pelo Chat e para configurar atributos que determinam como ele aparece no Chat, como nome e imagem do avatar.
  • API Vertex AI: uma plataforma de IA generativa. O app do Google Chat para gerenciamento de projetos usa a API Vertex AI para escrever títulos e descrições de histórias de usuário.
  • Firestore: um banco de dados de documentos sem servidor. O app Google Chat de gerenciamento de projetos usa o Firebase para armazenar dados sobre histórias de usuários.
  • Cloud Functions: um serviço de computação leve sem servidor que permite criar funções autônomas de finalidade única que podem responder a eventos de interação do Chat sem a necessidade de gerenciar um servidor ou um ambiente de execução. O app do Google Chat para gerenciamento de projetos usa o Cloud Functions para hospedar o endpoint HTTP para o qual o Chat envia eventos de interação e como uma plataforma de computação para executar a lógica que processa e responde a esses eventos.

    O Cloud Functions usa os seguintes produtos do Google Cloud para criar, processar eventos de interação e hospedar recursos de computação:

    • Cloud Build: uma plataforma totalmente gerenciada de integração, entrega e implantação contínuas que executa builds automatizados.
    • Pub/Sub: um serviço de mensagens assíncrono e escalonável que separa os serviços que produzem mensagens dos serviços que processam essas mensagens.
    • API Cloud Run Admin: um ambiente totalmente gerenciado para executar apps conteinerizados.

Arquitetura

A arquitetura do app Google Chat para gerenciamento de projetos recebe e processa eventos de interação do Chat em um endpoint HTTP, usa a Vertex AI para ajudar a escrever histórias de usuário e armazena detalhes de histórias de usuário em um banco de dados do Firestore. O diagrama a seguir mostra a arquitetura dos recursos do Google Workspace e do Google Cloud usados.

Diagrama de arquitetura do app do Google Chat para gerenciamento de projetos

O app do Google Chat para gerenciamento de projetos funciona assim:

  1. Um usuário envia uma mensagem no Chat e invoca o app do Google Chat de gerenciamento de projetos enviando uma mensagem diretamente, mencionando-o em um espaço ou inserindo um comando de barra.

  2. O chat envia uma solicitação HTTP síncrona para o endpoint HTTP do Cloud Function.

  3. O app do Google Chat de gerenciamento de projetos processa a solicitação HTTP:

    1. A Vertex AI ajuda a escrever ou atualizar uma história de usuário.

    2. Um banco de dados do Firestore armazena, recupera, atualiza ou exclui dados de histórias de usuário.

  4. O Cloud Functions retorna uma resposta HTTP para o Chat, que é mostrada ao usuário como uma mensagem ou diálogo.

Prepare o ambiente

Nesta seção, mostramos como criar e configurar um projeto do Google Cloud para o app do Chat.

Criar um projeto do Google Cloud

Console do Google Cloud

  1. No console do Google Cloud, acesse Menu > IAM e administrador > Criar um projeto.

    Acessar "Criar um projeto"

  2. No campo Nome do projeto, insira um nome descritivo para o projeto.

    Opcional: para editar o ID do projeto, clique em Editar. O ID do projeto não pode ser alterado após a criação do projeto. Portanto, escolha um ID que atenda às suas necessidades durante a vida útil do projeto.

  3. No campo Local, clique em Procurar para mostrar possíveis locais para o projeto. Em seguida, clique em Selecionar.
  4. Clique em Criar. O console do Google Cloud navega até a página "Painel", e seu projeto é criado em alguns minutos.

CLI da gcloud

Em um dos seguintes ambientes de desenvolvimento, acesse a CLI do Google Cloud (gcloud):

  • Cloud Shell: para usar um terminal on-line com a CLI gcloud já configurada, ative o Cloud Shell.
    Ativar o Cloud Shell
  • Shell local: para usar um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud.
    Para criar um projeto do Cloud, use o comando gcloud projects create:
    gcloud projects create PROJECT_ID
    Substitua PROJECT_ID definindo o ID do projeto que você quer criar.

Ative o faturamento para o projeto do Cloud

Console do Google Cloud

  1. No console do Google Cloud, acesse Faturamento. Clique em Menu > Faturamento > Meus projetos.

    Acessar o faturamento dos meus projetos

  2. Em Selecionar uma organização, escolha a organização associada ao seu projeto do Google Cloud.
  3. Na linha do projeto, abra o menu Ações (), clique em Alterar faturamento e escolha a conta do Cloud Billing.
  4. Clique em Definir conta.

CLI da gcloud

  1. Para listar as contas de faturamento disponíveis, execute:
    gcloud billing accounts list
  2. Vincular uma conta de faturamento a um projeto do Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Substitua:

    • PROJECT_ID é o ID do projeto do projeto do Cloud para o qual você quer ativar o faturamento.
    • BILLING_ACCOUNT_ID é o ID da conta de faturamento a ser vinculado ao projeto do Google Cloud.

Ative as APIs

Console do Google Cloud

  1. No console do Google Cloud, ative a API Google Chat, a API Vertex AI, a API Cloud Functions, a API Firestore, a API Cloud Build, a API Pub/Sub e a API Cloud Run Admin.

    Ativar as APIs

  2. Confirme se você está ativando as APIs no projeto correto do Cloud e clique em Próxima.

  3. Confirme se você está ativando as APIs corretas e clique em Ativar.

CLI da gcloud

  1. Se necessário, defina o projeto atual do Cloud como o que você criou com o comando gcloud config set project:

    gcloud config set project PROJECT_ID

    Substitua PROJECT_ID pelo ID do projeto do projeto do Cloud que você criou.

  2. Ative a API Google Chat, a API Vertex AI, a API Cloud Functions, a API Firestore, a API Cloud Build, a API Pub/Sub e a API Cloud Run Admin com o comando 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

    As APIs Cloud Build, Pub/Sub e Cloud Run Admin são pré-requisitos do Cloud Functions.

Autenticação e autorização

Nenhuma configuração de autenticação e autorização é necessária para seguir este tutorial.

Para chamar as APIs do Firestore e da Vertex AI, este tutorial usa as credenciais padrão do aplicativo com a conta de serviço padrão anexada ao Cloud Function, que não precisa ser configurada. Em um ambiente de produção, você normalmente create e anexa uma conta de serviço à função do Cloud.

Criar e implantar o app do Google Chat

Agora que seu projeto do Google Cloud foi criado e configurado, você está pronto para criar e implantar o app Google Chat. Nesta seção, você vai fazer o seguinte:

  1. Crie um banco de dados do Firestore para persistir e recuperar histórias de usuários.
  2. Opcionalmente, analise o código de exemplo.
  3. Crie uma função do Cloud para hospedar e executar o código do app Chat em resposta a eventos recebidos do Chat como solicitações HTTP.
  4. Crie e implante um app do Google Chat na página de configuração da API Google Chat.

Criar o banco de dados do Firestore

Nesta seção, você cria um banco de dados do Firestore para persistir e recuperar histórias de usuários, mas não define o modelo de dados. O modelo de dados é definido implicitamente no código de exemplo pelos arquivos model/user-story.js e model/user.js.

O banco de dados do app de chat de gerenciamento de projetos usa um modelo de dados NoSQL baseado em documentos organizados em coleções. Para saber mais, consulte o modelo de dados do Firestore.

O diagrama a seguir é uma visão geral do modelo de dados do app Google Chat para gerenciamento de projetos:

Modelo de dados do banco de dados do Firestore.

A coleção raiz é spaces, em que cada documento representa um espaço em que o app do Chat criou histórias. Cada história de usuário é representada por um documento na subcoleção userStories, e cada usuário é representado por um documento na subcoleção users.

Conferir definições de campos, coleções e documentos

spaces

Espaços em que o app do Chat criou histórias.

Campos
Document IDString
ID exclusivo de um espaço específico onde as histórias são criadas. Corresponde ao nome do recurso do espaço na API Chat.
userStoriesSubcollection of Documents (userStories)
Histórias criadas pelo app do Chat e pelos usuários. Corresponde ao Document ID de um userStories no Firebase.
usersSubcollection of Documents (user)
Usuários que criaram ou receberam histórias.
displayNameString
O nome de exibição do espaço na API Chat. Não está definido para mensagens diretas com usuários.

userStories

Stories criadas pelo app do Chat e pelos usuários dele.

Campos
Document IDString
ID exclusivo de uma história de usuário específica criada pelo app do Chat e pelos usuários dele.
assigneeDocument (user)
O nome do recurso do usuário atribuído para concluir a história. Corresponde ao Document ID do documento users e ao nome de recurso de um usuário na API Chat.
descriptionString
Uma descrição do recurso do software do ponto de vista do usuário.
priorityEnum
A urgência para concluir o trabalho. Os valores possíveis são Low, Medium ou High.
sizeEnum
A quantidade de trabalho. Os valores possíveis são Small, Medium ou Large.
statusEnum
A fase do trabalho. Os valores possíveis são OPEN, STARTED ou COMPLETED.
titleString
O título da história; um breve resumo.

users

Usuários que criaram ou receberam histórias.

Campos
Document IDString
ID exclusivo de um usuário específico. Corresponde ao assignee de um userStories no Firebase e ao nome de recurso de um usuário na API Chat.
avatarUrlString
URL que hospeda a imagem do avatar do usuário no Chat.
displayNameString
O nome de exibição do Chat do usuário.

Veja como criar o banco de dados do Firestore:

Console do Google Cloud

  1. No Console do Google Cloud, acesse o Firestore. Clique em Menu > Firestore.

    Vá para o Firestore

  2. Clique em Criar banco de dados.

  3. Em Selecione o modo do Firestore, clique em Modo nativo.

  4. Clique em Continuar.

  5. Configure o banco de dados:

    1. Em Nome do banco de dados, deixe o ID do banco de dados como (default).

    2. Em Tipo de local, especifique uma região para o banco de dados, como us-central1. Para ter a melhor performance, selecione o mesmo local ou um local próximo da Função do Cloud do app de chat.

  6. Clique em Criar banco de dados.

CLI da gcloud

  • Crie um banco de dados do Firestore no modo nativo com o comando gcloud firestore databases create:

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

    Substitua LOCATION pelo nome de uma região do Firestore, como us-central1.

Analisar o exemplo de código

Se preferir, antes de criar a Função do Cloud, analise e conheça o código de exemplo hospedado no GitHub.

Ver no GitHub

Confira uma visão geral de cada arquivo:

env.js
Variáveis de configuração de ambiente para implantar o app Chat em um projeto e uma região do Google Cloud especificados. Atualize as variáveis de configuração neste arquivo.
package.json e package-lock.json
Configurações e dependências do projeto do Node.js.
index.js
Ponto de entrada da função do Cloud do app de chat. Ele lê o evento de chat da solicitação HTTP, chama o gerenciador de apps e publica a resposta HTTP como um objeto JSON.
controllers/app.js
A lógica principal do aplicativo. Processa os eventos de interação processando as menções do app Chat e os comandos de barra. Para responder aos cliques no card, ele chama app-action-handler.js.
controllers/app-action-handler.js
Lógica do aplicativo para processar o clique no card Eventos de interação do Chat.
services/space-service.js, services/user-service.js e services/user-story-service.js
Esses arquivos contêm as partes da lógica do aplicativo específicas para trabalhar com espaços do Chat, usuários e histórias de usuário. As funções nesses arquivos são chamadas por app.js ou app-action-handler.js. Para realizar operações de banco de dados, as funções nesses arquivos chamam funções em firestore-service.js.
services/firestore-service.js
Processa operações de banco de dados. As funções nesse arquivo são chamadas por services/space-service.js, services/user-service.js e services/user-story-service.js.
services/aip-service.js
Chama a API Vertex AI para a previsão de texto de IA generativa.
model/*.js
Esses arquivos contêm a definição de classes e tipos enumerados que os serviços do aplicativo usam para armazenar e transmitir dados entre funções. Eles definem o modelo de dados para o banco de dados do Firestore.
views/*.js
Cada arquivo nesse diretório instancia um objeto de card que o app do Chat envia de volta como uma mensagem de card ou uma resposta de ação de caixa de diálogo.
views/widgets/*.js
Cada arquivo instancia um tipo de objeto widget que o app usa para criar os cards no diretório views/.
test/**/*.test.js
Cada arquivo neste diretório e nos subdiretórios dele contém os testes de unidade para a função, o controlador, o serviço, a visualização ou o widget correspondente. É possível executar todos os testes de unidade executando npm run test no diretório raiz do projeto.

Criar e implantar a função do Cloud

Nesta seção, você vai criar e implantar uma função do Cloud que compreende a lógica do aplicativo do app de chat de gerenciamento de projetos.

A função do Cloud é executada em resposta a uma solicitação HTTP do Chat que contém um evento de interação do Chat. Quando executado, o código do Cloud Function processa o evento e retorna uma resposta ao Chat, que é renderizada como uma mensagem, caixa de diálogo ou outro tipo de interação do usuário. Se aplicável, a função do Cloud também lê ou grava no banco de dados do Firestore.

Veja como criar a função do Cloud:

Console do Google Cloud

  1. Faça o download do código do GitHub como um arquivo zip.

    Fazer o download do arquivo ZIP

  2. Extraia o arquivo ZIP salvo.

    A pasta extraída contém todo o repositório de amostras do Google Workspace.

  3. Na pasta extraída, navegue até google-chat-samples-main/node/project-management-app/ e compacte a pasta project-management-app em um arquivo ZIP.

    O diretório raiz do arquivo ZIP precisa conter os seguintes arquivos e pastas:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. No console do Google Cloud, acesse a página Cloud Functions:

    Acesse o Cloud Functions

    Verifique se o projeto do Google Cloud para o app de chat está selecionado.

  5. Clique em Criar função.

  6. Na página Criar função, configure sua função:

    1. Em Ambiente, selecione Função do Cloud Run.
    2. Em Nome da função, insira project-management-tutorial.
    3. Em Região, selecione uma região.
    4. Em Autenticação, selecione Permitir invocações não autenticadas.
    5. Clique em Próxima.
  7. Em Ambiente de execução, selecione Node.js 20.

  8. Em Ponto de entrada, exclua o texto padrão e insira projectManagementChatApp.

  9. Em Código-fonte, selecione Upload do ZIP.

  10. Em Bucket de destino, crie ou selecione um bucket:

    1. Clique em Procurar.
    2. Escolha um bucket.
    3. Clique em Selecionar.

    O Google Cloud faz upload do arquivo ZIP e extrai os arquivos de componentes neste bucket. O Cloud Functions copia os arquivos de componentes para a função do Cloud.

  11. Em Arquivo ZIP, faça upload do arquivo ZIP que você fez o download do GitHub, extraiu e recomprimiu:

    1. Clique em Procurar.
    2. Acesse e selecione o arquivo ZIP.
    3. Clique em Abrir.
  12. Clique em Implantar.

    A página Detalhes do Cloud Functions é aberta, e sua função aparece com dois indicadores de progresso: um para o build e outro para o serviço. Quando os dois indicadores de progresso desaparecem e são substituídos por uma marca de seleção, a função é implantada e fica pronta.

  13. Edite o exemplo de código para definir constantes:

    1. Na página Detalhes da função do Cloud, clique em Editar.
    2. Clique em Próxima.
    3. Em Código-fonte, selecione Editor in-line.
    4. No editor inline, abra o arquivo env.js.
    5. Substitua project-id pelo código do projeto.
    6. Opcional: atualize us-central1 com um local com suporte para sua função do Cloud.
  14. Clique em Implantar.

  15. Quando a implantação da função terminar, copie o URL do gatilho:

    1. Na página Detalhes da função, clique em Gatilho.
    2. Copie o URL. Você vai precisar dele para configurar o app Chat na próxima seção.

CLI da gcloud

  1. Clone o código do GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
  2. Alterne para o diretório que contém o código desse app do Chat de gerenciamento de projetos:

    cd google-chat-samples/node/project-management-app
  3. Edite o arquivo env.js para definir as variáveis de ambiente:

    1. Substitua project-id pelo ID do projeto do Google Cloud.
    2. Substitua us-central1 pelo local do projeto do Google Cloud.
  4. Implante a função do Cloud no Google Cloud:

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

    Substitua REGION por um local da Função do Cloud em que a infraestrutura está hospedada, como us-central1.

  1. Quando a implantação da função for concluída, copie a propriedade url da resposta. Esse é o URL do gatilho que você vai usar na próxima seção para configurar o app Google Chat.

Configurar o app Google Chat no console do Google Cloud

Esta seção mostra como configurar a API Chat no console do Google Cloud com informações sobre seu app de chat, incluindo o nome do app, os comandos de barra invertida compatíveis e o URL de acionamento da função do Cloud do app para a qual ele envia eventos de interação do Chat.

  1. No console do Google Cloud, clique em Menu > Mais produtos > Google Workspace > Biblioteca de produtos > API Google Chat > Gerenciar > Configuração.

    Acessar a configuração da API Chat

  2. Em Nome do app, digite Project Manager.

  3. No URL do avatar, digite https://developers.google.com/chat/images/quickstart-app-avatar.png.

  4. Em Descrição, digite Manages projects with user stories..

  5. Clique no botão Ativar recursos interativos para ativar a opção.

  6. Em Funcionalidade, selecione Receber mensagens individuais e Participar de espaços e conversas em grupo.

  7. Em Configurações de conexão, selecione URL do endpoint HTTP.

  8. Em URL do endpoint HTTP, cole o URL do gatilho que você copiou da implantação do Cloud Functions, formatado como https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial. Se você implantou a função do Cloud com a CLI gcloud, essa é a propriedade url.

  9. Registre os comandos de barra do app do Chat. Para registrar um comando de barra:

    1. Em Comandos de barra, clique em Adicionar um comando de barra.
    2. Para cada comando de barra invertida detalhado na tabela a seguir, insira o Nome, o ID do comando e a Descrição e selecione se o comando de barra invertida Abre uma caixa de diálogo. Em seguida, clique em Concluído:

      Nome ID do comando Descrição Abre uma caixa de diálogo
      /createUserStory 1 Crie uma história com o título especificado. Não selecionado
      /myUserStories 2 Lista todas as histórias atribuídas ao usuário. Não selecionado
      /userStory 3 Mostra o status atual da história especificada. Não selecionado
      /manageUserStories 4 Abre uma caixa de diálogo em que as histórias podem ser editadas. Selecionado
      /cleanupUserStories 5 Exclui todas as matérias no espaço. Não selecionado
  10. Em Visibilidade, selecione Disponibilidade do app de chat para pessoas e grupos específicos no seu domínio do Workspace e digite seu endereço de e-mail.

  11. Opcionalmente, em Registros, selecione Registrar erros no Logging.

  12. Clique em Salvar. Uma mensagem de configuração salva aparece, o que significa que o app de chat está pronto para teste.

Teste o app do Chat

Teste o app de chat de gerenciamento de projetos enviando mensagens e usando os comandos de barra para criar, editar e excluir histórias de usuário.

  1. Abra o Google Chat usando a conta do Google Workspace que você informou ao se adicionar como um testador confiável.

    Acessar o Google Chat

  2. Clique em Nova conversa.
  3. No campo Adicionar uma ou mais pessoas, digite o nome do seu app Chat.
  4. Selecione seu app do Chat nos resultados. Uma mensagem direta é aberta.

  5. Na nova mensagem direta com o app, digite Hello e pressione enter. O app de chat de gerenciamento de projetos responde com um menu de ajuda detalhando o que ele pode fazer.
  6. Para criar uma história, digite /createUserStory Test story na barra de mensagens e envie. O app de chat de gerenciamento de projetos responde com uma mensagem de card detalhando a história do usuário criada para você usando a IA generativa da Vertex AI.
  7. No console, verifique o banco de dados do Firestore para analisar os registros criados sobre o espaço em que você adicionou o app do Chat, os usuários que interagiram com ele e a história de usuário que você criou.

    Vá para o Firestore

  8. Volte ao Google Chat.

    Acessar o Google Chat

  9. Para editar a história, clique em Editar. Quando estiver tudo certo com a história, clique em Salvar.
  10. Teste cada comando de barra incluída compatível com o app. Para conferir, digite / ou mencione o app do Chat.
  11. Exclua a história de usuário de teste emitindo o comando de barra /cleanupUserStories. Como alternativa, remova ou desinstale o app. Quando removido, o app exclui todas as histórias de usuário criadas nesse espaço.

Resolver problemas

Quando um app do Google Chat ou um card retorna um erro, a interface do Chat mostra uma mensagem informando que "Ocorreu um erro". ou "Não foi possível processar sua solicitação". Às vezes, a interface do Chat não mostra nenhuma mensagem de erro, mas o app ou o card do Chat produz um resultado inesperado. Por exemplo, uma mensagem de card pode não aparecer.

Embora uma mensagem de erro possa não aparecer na interface do Chat, mensagens de erro descritivas e dados de registro estão disponíveis para ajudar a corrigir erros quando o registro de erros para apps de chat estiver ativado. Se precisar de ajuda para visualizar, depurar e corrigir erros, consulte Resolver problemas e corrigir erros do Google Chat.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, recomendamos que você exclua o projeto do Cloud.

  1. No console do Google Cloud, acesse a página Gerenciar recursos. Clique em Menu > IAM e administrador > Gerenciar recursos.

    Acesse o Resource Manager

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.