Skip to main content

Usando o Copilot para trabalhar em um issue

Saiba como atribuir issues ao GitHub Copilot, monitorar o progresso conforme o Copilot trabalha no issue e, em seguida, usar comentários de revisão da solicitação de pull request para solicitar ao Copilot para iterar em seu trabalho.

Quem pode usar esse recurso?

O Agente de codificação do Copilot está disponível com os planos GitHub Copilot Pro+ e GitHub Copilot Enterprise nos repositórios em que está habilitado.
Sign up for Copilot

Observação

Agente de codificação do Copilot is in versão prévia pública and subject to change.

Introdução

Você pode atribuir um issue do GitHub ao Copilot como faria com um desenvolvedor de software humano. O Copilot começará a trabalhar no issue, gerará uma pull request e, quando terminar de trabalhar, solicitará uma revisão sua. Para saber mais, confira Sobre a atribuição de tarefas ao Copilot.

Se você não tiver usado o Copilot para trabalhar em um issue antes, poderá encontrar alguns conselhos úteis para obter bons resultados em Best practices for using Copilot to work on tasks.

Como atribuir um issue ao Copilot

Você pode pedir ao Copilot para começar a trabalhar em um issue atribuindo o issue ao Copilot.

Você pode atribuir um issue ao Copilot:

Como atribuir um issue ao Copilot no GitHub.com

Você pode atribuir um issue ao Copilot no GitHub.com exatamente do mesmo jeito que atribui outro usuário.

  1. Em GitHub, acesse a página principal do repositório.

  2. No nome do seu repositório, clique em Problemas.

    Captura de tela da página principal de um repositório. Na barra de navegação horizontal, uma guia, rotulada como "Problemas", é destacada em laranja escuro.

  3. Abra o issue a atribuir ao Copilot.

  4. No menu do lado direito, clique em Responsáveis.

    Captura de tela da barra lateral direita de um problema. Há um cabeçalho "Destinatários" com o contorno em laranja escuro.

  5. Clique em Copilot na lista de atribuições.

    Captura de tela da janela "Assignees" em um issue. O Copilot está disponível na lista.

Dica

Quando você atribui um issue ao Copilot, ele recebe o título do issue, a descrição e os comentários existentes no momento. Após a atribuição do issue, o Copilot não estará ciente e, portanto, não reagirá a comentários adicionais adicionados a ele. Se você tiver mais informações ou alterações no requisito original, adicione-as como um comentário à pull request que o Copilot gera.

Você também pode atribuir issues ao Copilot de outros lugares no GitHub.com:

  • Na lista de issues na página Issues do repositório.
  • Ao exibir um issue no GitHub Projetos.

Atribuindo um issue ao Copilot por meio da API do GitHub

Você pode atribuir um issue ao Copilot fazendo uma solicitação à API do GraphQL.

  1. Verifique se você está autenticando com a API usando um token de usuário, por exemplo, um personal access token ou um token de usuário para servidor do GitHub App.

  2. Verifique se o Agente de codificação do Copilot está habilitado no repositório verificando se o suggestedActors do repositório na API do GraphQL inclui o Copilot. Substitua monalisa pelo proprietário do repositório e octocat pelo nome dele.

    GraphQL
    query {
      repository(owner: "monalisa", name: "octocat") {
        suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {
          nodes {
            login
            __typename
    
            ... on Bot {
              id
            }
    
            ... on User {
              id
            }
          }
        }
      }
    }
    

    Se o Agente de codificação do Copilot estiver habilitado para o usuário e no repositório, o primeiro nó retornado da consulta terá o valor de login copilot-swe-agent.

  3. Busque a ID global do GraphQL do issue que deseja atribuir ao Copilot, substituindo monalisa pelo proprietário do repositório, octocat pelo nome e 9000 pelo número do issue.

    GraphQL
    query {
      repository(owner: "monalisa", name: "octocat") {
        issue(number: 9000) {
          id
          title
        }
      }
    }
    
  4. Atribua o issue ao Copilot usando a mutação do GraphQL replaceActorsForAssignable. Substitua ISSUE_ID pela ID retornada da etapa anterior e BOT_ID pela ID retornada da etapa anterior àquela.

    GraphQL
    mutation {
      replaceActorsForAssignable(input: {assignableId: "ISSUE_ID", assigneeIds: ["BOT_ID"]}) {
        assignable {
          ... on Issue {
            id
            title
            assignees(first: 10) {
              nodes {
                login
              }
            }
          }
        }
      }
    }
    

Acompanhando o progresso do Copilot com relação a seu issue

Logo após atribuir um issue ao Copilot, o Copilot deixará uma reação 👀 sobre o issue.

Captura de tela de um issue atribuído a Copilot. Copilot deixou uma reação de ícone de olhos.

Alguns segundos depois, Copilot abrirá um rascunho de pull request vinculada ao issue original. Um evento será exibido na linha do tempo do issue, vinculando-se à pull request.

Captura de tela de um issue com um evento de linha do tempo mostrando que uma pull request vinculada foi aberta.

Copilot iniciará uma agent session para trabalhar no issue. Um evento "Copilot started work" será exibido na linha do tempo da pull request e, à medida que os dados do Copilot funcionarem, ele atualizará o corpo da pull request com atualizações de status regulares e enviará confirmações por push ao branch.

Captura de tela de uma pull request com uma série de eventos da linha do tempo, incluindo "Copilot started work".

Se você quiser verificar o que Copilot está fazendo, clique em View session. O visualizador de log de sessão é exibido, mostrando um log ativo como Copilot funciona no issue. Se você quiser impedir que Copilot trabalhem no issue, clique em Stop session. Confira Como usar os logs do agente de codificação do Copilot.

Depois que Copilot terminar, a sessão do agente terminará e Copilot solicitará uma revisão sua, disparando uma notificação. Além disso, um evento "Copilot finished work" será exibido na linha do tempo da pull request.

Captura de tela de uma linha do tempo da pull request com eventos "Copilot requested review" e "Copilot finished work".

Como trabalhar com o Copilot em uma pull request

Depois que Copilot terminarem de trabalhar no issue, examine com atenção a pull request e comente tudo o que precisar ser alterado. Confira Revisando uma pull request criada pelo Copilot.

Leitura adicional