Exportação/restauração do GitHub

Os agentes de conversação (Dialogflow CX) são integrados 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 limite 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 de agentes de conversação (Dialogflow CX). Nesses casos, é possível exportar
    o agente como um arquivo ZIP e usar a CLI do Git na máquina para enviar os arquivos do agente ao GitHub. Essa limitação será abordada em uma versão futura dos agentes de conversação (Dialogflow CX).
  • Não há suporte para repositórios de autohospedagem com acesso privado, porque os agentes de conversação (Dialogflow CX) não podem acessar esses repositórios.
  • O repositório do GitHub não pode conter outros arquivos além dos arquivos de agente exportados por exportação de agente. Todos os outros arquivos no repositório serão removidos em cada push.

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 para abrir uma caixa de diálogo de configuração.
  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 definir uma 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. Apenas atualizações são aceitas. Se você usar um token de acesso pessoal detalhado, vai precisar das seguintes 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 depois de selecionar a permissão "Conteúdos")
  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 envios indesejados, configure esses agentes com tokens de acesso pessoal somente leitura.

O botão Restore é usado para extrair os dados do agente da ramificação do GitHub selecionada no menu suspenso da ramificação do Git e restaurar os agentes de conversação (Dialogflow CX) com base nesses dados. Isso vai substituir seu agente da mesma forma que qualquer restauração de agente funciona.

Exemplo de caso de uso:

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

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

  • Prod: ramificação para o 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 mudanças desejadas na 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 mudanças desejadas na 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. Faz commit das mudanças aprovadas.
  3. Restaura a ramificação de produção do GitHub para o agente de produção dos agentes de conversa (Dialogflow CX).