Exportação/restauração do GitHub

Os agentes de conversação (Dialogflow CX) se integram ao GitHub. Essa integração facilita a exportação do agente para JSON para envio ao GitHub e o recebimento do GitHub para uma restauração do agente. O formato JSON exportado enviado para o GitHub é o conteúdo do arquivo ZIP aberto do agente exportado.

Com esse recurso, você pode aproveitar os recursos de controle de origem do GitHub, como:

Limitações

Considere as seguintes limitações:

  • O GitHub tem um limite de taxa para o número de solicitações por hora (5.000 para contas não empresariais, 15.000 para contas empresariais). Se o push do agente exceder esse limite, o console do Dialogflow CX vai informar o erro de limitação de taxa. Tente novamente após uma hora.
  • As APIs do GitHub têm uma limitação no número de arquivos que podem ser atualizados em uma única confirmação. Se o número de arquivos exceder 500, talvez não seja possível fazer push para o GitHub usando agentes de conversação (Dialogflow CX). Nesses casos, é possível exportar
    . o agente como um ZIP e usar a CLI do Git na sua máquina para enviar os arquivos do agente para o GitHub. Essa limitação será abordada em uma versão futura dos agentes de conversação (Dialogflow CX).
  • Acesso privado auto-hospedado repositórios não têm suporte, porque os Agentes de conversa (Dialogflow CX) não podem acessar esses repositórios.
  • O repositório do GitHub só pode conter arquivos do agente exportados pela exportação do agente. Todos os outros arquivos no repositório serão removidos a cada empurrãozinho.

Configuração

Para configurar essa integração:

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Clique na guia Gerenciar.
  5. Clique em Git na seção Teste e implantação.
  6. Clique em Add Git integration. Uma caixa de diálogo de configuração vai ser aberta.
  7. Digite o seguinte:
    • Nome de exibição para a conexão do GitHub.
    • URL do repositório do GitHub (por exemplo: https://api.github.com/repos/<repository_owner>/<repository_name>).
    • Adicione as branches do GitHub com que o agente vai interagir. Para designar uma ramificação como padrão, clique no ícone de estrela ao lado dela.
    • O token de acesso pessoal do GitHub não pode ser visualizado depois de definido. Somente atualizações são aceitas. Se você usar um token de acesso pessoal detalhado, você precisa dos seguintes permissões acesso:
      • Permissões do repositório > Conteúdo: leitura e gravação
      • Permissões do repositório > Metadados: somente leitura (precisam ser selecionados automaticamente) após selecionar a permissão de conteúdo)
  8. Clique em Conectar.

Essa configuração pode ser alterada a qualquer momento clicando no ícone de edição.

Envio e restauração

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

O botão Push é usado para exportar seu agente e fazer uma confirmação no branch do GitHub selecionado no menu suspenso do branch do 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.

Para novos repositórios, verifique se há pelo menos uma confirmação do GitHub antes de usar a opção de push no console do Dialogflow CX.

Os usuários com funções de Leitor do Dialogflow podem fazer push para repositórios do GitHub. Para evitar push indesejados, configure esses agentes com permissões somente leitura tokens de acesso pessoal.

O botão Restaurar é usado para extrair os dados do agente da ramificação do GitHub selecionado no menu suspenso da ramificação do Git e restaure o agente do Conversational Agents (Dialogflow CX) dados. Isso vai substituir seu agente da mesma forma que qualquer restauração de agente se comporta.

Exemplo de caso de uso:

O exemplo a seguir ilustra como esse recurso pode ser usado por várias pessoas para propor alterações diferentes no agente de produção.

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

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

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

  1. Exporte o agente de produção para um novo agente.
  2. Faça as alterações que você quiser nesta 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 no agente e segue estas etapas:

  1. Exporte o agente de produção para um novo agente.
  2. Faça as alterações que você quiser nesta 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 dos dois usuários e segue estas etapas:

  1. Resolva os conflitos.
  2. Confirma as alterações aprovadas.
  3. Restaura a ramificação de produção do GitHub para o agente de produção de agente de conversa (Dialogflow CX).