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:
- No GitHub.com (confira a próxima seção)
- No GitHub Mobile
- Usando a API do GitHub (veja mais adiante neste artigo)
- Como usar o GitHub CLI (confira
gh issue edit
)
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.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do seu repositório, clique em Problemas.
-
Abra o issue a atribuir ao Copilot.
-
No menu do lado direito, clique em Responsáveis.
-
Clique em Copilot na lista de atribuições.
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.
-
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.
-
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. Substituamonalisa
pelo proprietário do repositório eoctocat
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 } } } } }
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
. -
Busque a ID global do GraphQL do issue que deseja atribuir ao Copilot, substituindo
monalisa
pelo proprietário do repositório,octocat
pelo nome e9000
pelo número do issue.GraphQL query { repository(owner: "monalisa", name: "octocat") { issue(number: 9000) { id title } } }
query { repository(owner: "monalisa", name: "octocat") { issue(number: 9000) { id title } } }
-
Atribua o issue ao Copilot usando a mutação do GraphQL
replaceActorsForAssignable
. SubstituaISSUE_ID
pela ID retornada da etapa anterior eBOT_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 } } } } } }
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.
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.
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.
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.
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.