Exportação/restauração do Git

O Dialogflow CX é integrado a vários provedores Git (GitHub, Gitlab, Bitbucket e outros). Essa integração facilita a exportação do agente para JSON para um envio a um provedor Git, e a extração de um provedor Git para uma restauração do agente. O formato JSON exportado enviado a um provedor Git é o conteúdo do arquivo zip expandido do agente exportado.

O uso desse recurso permite aproveitar os recursos de controle de origem do provedor Git, como:

  • Revisões de mudanças do agente usando ferramentas de revisão de código
  • Examinar as diferenças do agente usando ferramentas de diferenças
  • Mesclagens

Limitações

Considere as seguintes limitações:

  • [Somente versão antiga da integração] As APIs do GitHub têm uma limitação no número de arquivos que podem ser atualizados em um único commit. Se o número de arquivos exceder 500, talvez não seja possível enviar para o GitHub pelo Dialogflow CX. Nesses casos, você pode exportar o agente como um arquivo zip e usar a CLI Git na sua máquina para enviar os arquivos do agente ao GitHub. Essa limitação será abordada em uma versão posterior do Dialogflow CX.
  • Os repositórios auto-hospedados de acesso privado do GitHub não são compatíveis porque o Dialogflow CX não pode acessar esses repositórios.
  • O repositório Git não pode conter arquivos que não sejam os arquivos do agente exportados pela exportação do agente. Todos os outros arquivos no repositório serão removidos em cada envio.

Configuração

Para configurar esse recurso, é necessário adquirir um token de acesso do provedor Git, armazená-lo no Secret Manager e fornecer o recurso secreto ao Dialogflow CX:

Token de acesso

Para adquirir um token de acesso do provedor Git:

GitHub

Você precisa adquirir um token pessoal do GitHub . Se você usar um token de acesso pessoal refinado, precisará do seguinte acesso de permissões:

  • Permissões do repositório > Conteúdo: leitura e gravação
  • Permissões do repositório > Metadados: somente leitura (deve ser selecionado automaticamente após selecionar a permissão de conteúdo)

Gitlab

Você precisa adquirir um token de acesso pessoal do Gitlab.

Bitbucket

Você precisa adquirir um token de acesso do Bitbucket.

Secret Manager

Agora que você tem um token de acesso, é necessário criar um secret para ele:

  1. Ativar a API Secret Manager.
  2. Criar um secret.

Configuração do Dialogflow CX

Para configurar essa integração para o Dialogflow CX:

  1. Conceda a permissão do agente de serviço do Dialogflow para acessar o secret do token de acesso no Secret Manager. Conceda o papel Secret Manager Secret Accessor à conta de serviço gcp-sa-dialogflow.iam.gserviceaccount.com no projeto do agente. Consulte Conceder acesso ao secret do Secret Manager.
  2. Abra a configuração de integração do Git:
    • Console dos agentes de conversação
      1. Abra a tela de configurações clicando no ícone de configurações perto do canto superior direito.
      2. Role a tela para baixo e clique em Adicionar integração do Git.
    • Console do Dialogflow CX
      1. Clique na guia Gerenciar.
      2. Clique em Git na seção Teste e implantação.
      3. Clique em Criar novo.
  3. Forneça os detalhes de configuração:
    1. Digite o seguinte:
      • Nome de exibição da conexão do GitHub.
      • URL do repositório Git (por exemplo: https://github.com/<path-to-repo>.git).
      • Adicione as ramificações do Git com que o agente vai interagir. Você pode designar uma ramificação como padrão clicando no ícone de estrela ao lado dela.
      • Secret do token de acesso, que é a versão secreta criada no formulário projects/*/secrets/*/versions/* para uma versão específica ou projects/*/secrets/*/versions/latest para a versão mais recente.
    2. Clique em Conectar.
    3. Pode levar um minuto para que o serviço Git fique pronto. O console vai mostrar notificações.

Enviar e restaurar

Depois de configurado, você pode enviar/extrair o agente para/do Git.

O botão Enviar é usado para exportar o agente e fazer um commit na ramificação Git selecionada no menu suspenso da ramificação Git. Esse commit vai consistir no agente inteiro e não em mudanças específicas, e vai excluir todos os arquivos existentes no repositório.

Os usuários com papéis de leitor do Dialogflow podem enviar para repositórios Git. Para evitar envios indesejados, configure esses agentes com tokens de acesso pessoal somente leitura.

O botão Restaurar é usado para extrair os dados do agente da ramificação Git selecionada no menu suspenso da ramificação Git e restaurar o agente do Dialogflow CX desses dados. Isso vai substituir o agente da mesma forma que qualquer restauração de agente.

Exemplo de caso de uso:

O exemplo a seguir ilustra como esse recurso pode ser usado por várias pessoas para propor mudanças diferentes de agente para um agente de produção.

Considere que o agente usa as seguintes ramificações Git:

  • Prod: ramificação do agente de produção
  • Dev1: ramificação para desenvolvimento de agentes
  • Dev2: outra ramificação para desenvolvimento de agentes

O usuário 1 quer propor mudanças de agente e segue estas etapas:

  1. Exportar o agente de produção para um novo agente.
  2. Faça as mudanças desejadas nessa cópia do agente.
  3. Teste as mudanças.
  4. Envie o agente alterado para a ramificação Dev1.
  5. Crie uma solicitação de mesclagem para a ramificação Prod.

O usuário 2 quer propor mudanças de agente e segue estas etapas:

  1. Exportar o agente de produção para um novo agente.
  2. Faça as mudanças desejadas nessa cópia do agente.
  3. Teste as mudanças.
  4. Envie o agente alterado para a ramificação Dev2.
  5. Crie uma solicitação de mesclagem para a ramificação Prod.

O usuário 3 analisa as solicitações de mesclagem de ambos os usuários e segue estas etapas:

  1. Resolver conflitos.
  2. Confirma as mudanças aprovadas.
  3. Restaura a ramificação Git de produção para o agente de produção do Dialogflow CX.