{"meta":{"title":"Usando Copilot agente de nuvem por meio da API","intro":"Você pode iniciar e gerenciar Copilot cloud agent tarefas programaticamente usando a API REST.","product":"GitHub Copilot","breadcrumbs":[{"href":"/pt/copilot","title":"GitHub Copilot"},{"href":"/pt/copilot/how-tos","title":"Instruções"},{"href":"/pt/copilot/how-tos/use-copilot-agents","title":"Usar agentes Copilot"},{"href":"/pt/copilot/how-tos/use-copilot-agents/cloud-agent","title":"Cloud agent"},{"href":"/pt/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-via-the-api","title":"Usar o agente de nuvem por meio da API"}],"documentType":"article"},"body":"# Usando Copilot agente de nuvem por meio da API\n\nVocê pode iniciar e gerenciar Copilot cloud agent tarefas programaticamente usando a API REST.\n\nVocê pode usar a API de tarefas do agente para integrar cloud agent às suas próprias ferramentas e fluxos de trabalho. Por exemplo, você pode iniciar uma nova tarefa, listar tarefas existentes ou verificar o status de uma tarefa.\n\nAlém disso, você pode usar as APIs REST e GraphQL para problemas para atribuir problemas a Copilot.\n\n## Usando a API de tarefas do agente\n\n> \\[!NOTE]\n> A API de tarefas do agente está dentro prévia pública e sujeita a alterações.\n\n### Autenticação\n\nA API de tarefas do agente dá suporte apenas a tokens de usuário para servidor. Você pode autenticar usando um personal access tokentoken, um OAuth app token ou um GitHub App token de usuário para servidor.\n\nNão há suporte para tokens entre servidores, como tokens de acesso à instalação GitHub App.\n\n### Iniciando uma tarefa por meio da API\n\nPara iniciar uma nova cloud agent tarefa, envie uma solicitação `POST` para `/agents/repos/{owner}/{repo}/tasks`. O único parâmetro necessário é `prompt`, que é o prompt para o agente.\n\n```shell copy\ncurl -X POST \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/repos/OWNER/REPO/tasks \\\n  -d '{\n    \"prompt\": \"Fix the login button on the homepage\",\n    \"base_ref\": \"main\"\n  }'\n```\n\nSubstitua os seguintes valores de espaço reservado:\n\n* ```\n            `YOUR-TOKEN`: um token de usuário para servidor personal access token ou GitHub App.\n  ```\n* `OWNER`: o proprietário da conta associada ao repositório.\n* `REPO`: o nome do repositório.\n\nVocê também pode incluir os seguintes parâmetros opcionais no corpo da solicitação:\n\n* ```\n            `base_ref`: a ramificação de base da nova ramificação e pull request.\n  ```\n* `model`: o modelo de IA a ser usado para a tarefa. Se omitido, auto model selection será usado. Para obter mais informações sobre modelos com suporte, consulte [Endpoints da API REST para tarefas de agente](/pt/rest/agent-tasks/agent-tasks).\n* `create_pull_request`: um booliano que determina se uma solicitação de pull deve ser criada para a tarefa.\n\n### Listar tarefas\n\nVocê pode listar tarefas para um repositório específico ou em todos os repositórios aos quais você tem acesso.\n\nPara listar tarefas para um repositório específico:\n\n```shell copy\ncurl -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/repos/OWNER/REPO/tasks\n```\n\nPara listar suas tarefas em todos os repositórios:\n\n```shell copy\ncurl -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/tasks\n```\n\n### Verificando o status de uma tarefa\n\nPara verificar o status de uma tarefa específica, envie uma `GET` solicitação com a ID da tarefa:\n\n```shell copy\ncurl -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/repos/OWNER/REPO/tasks/TASK-ID\n```\n\nSubstitua `TASK-ID` pela ID da tarefa que você deseja verificar. Você pode obter essa ID da resposta ao criar uma tarefa ou listar tarefas. A resposta inclui a atual `state`da tarefa, que pode ser uma das seguintes: `queued`, , `in_progress`, `completed`, `failed`, `idle`, , `waiting_for_user`, `timed_out`ou `cancelled`.\n\n## Usar a API de problemas\n\n> \\[!NOTE]\n> Esse recurso está dentro prévia pública e sujeito a alterações.\n\nVocê pode atribuir problemas ao Copilot usando a API GraphQL ou a API REST. Ambas as APIs dão suporte a uma entrada opcional de Atribuição de Agente para personalizar a tarefa:\n\n| Parâmetro GraphQL    | Parâmetro REST        | Description                                    |\n| -------------------- | --------------------- | ---------------------------------------------- |\n| `targetRepositoryId` | `target_repo`         | O repositório onde Copilot funcionará          |\n| `baseRef`            | `base_branch`         | A ramificação da qual Copilot irá se ramificar |\n| `customInstructions` | `custom_instructions` | Instruções adicionais para Copilot             |\n| `customAgent`        | `custom_agent`        | Um custom agent a ser usado para a tarefa      |\n| `model`              | `model`               | O modelo para Copilot para usar                |\n\n### Usando a API GraphQL\n\n> \\[!NOTE]\n> Você deve incluir o `GraphQL-Features` cabeçalho com os valores `issues_copilot_assignment_api_support` e `coding_agent_model_selection`.\n\nVocê pode usar as seguintes mutações do GraphQL para atribuir problemas a Copilot:\n\n* [`updateIssue`](/pt/graphql/reference/issues#mutation-updateissue)\n* [`createIssue`](/pt/graphql/reference/issues#mutation-createissue)\n* [`addAssigneesToAssignable`](/pt/graphql/reference/issues#mutation-addassigneestoassignable)\n* [`replaceActorsForAssignable`](/pt/graphql/reference/issues#mutation-replaceactorsforassignable)\n\n#### Criar e atribuir um novo issue\n\n1. Verifique se você está autenticando com a API usando um token de usuário, por exemplo, um personal access token ou um GitHub App token de usuário para servidor.\n\n   > \\[!NOTE]\n   > Se estiver usando um fine-grained personal access token, ele precisará das seguintes permissões para atribuir Copilot a um problema:\n   >\n   > * Acesso de leitura a metadados\n   > * Acesso de leitura e gravação a ações, conteúdo, problemas e pull requests\n   >\n   > Se estiver usando um personal access token (classic), ele precisará do `repo` escopo para atribuir Copilot a um problema.\n\n2. Verifique se Copilot cloud agent está habilitado no repositório verificando se o `suggestedActors` do repositório na API GraphQL inclui Copilot. Substitua `octo-org` pelo proprietário do repositório e `octo-repo` pelo nome do repositório.\n\n   ```graphql copy\n   query {\n     repository(owner: \"octo-org\", name: \"octo-repo\") {\n       suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {\n         nodes {\n           login\n           __typename\n\n           ... on Bot {\n             id\n           }\n\n           ... on User {\n             id\n           }\n         }\n       }\n     }\n   }\n   ```\n\n   Se Copilot cloud agent estiver habilitado para o usuário e no repositório, o primeiro nó retornado da consulta terá o `login` valor `copilot-swe-agent`.\n\n3. Anote o valor `id` desse logon.\n\n4. Busque a ID global do GraphQL do repositório no qual você deseja criar o issue, substituindo `octo-org` pelo proprietário do repositório e `octo-repo` pelo nome do repositório.\n\n   ```graphql copy\n   query {\n     repository(owner: \"octo-org\", name: \"octo-repo\") {\n       id\n     }\n   }\n   ```\n\n5. Crie o issue com a mutação `createIssue`. Substitua `REPOSITORY_ID` pela ID retornada da etapa anterior e `BOT_ID` pela ID retornada da etapa anterior àquela. Opcionalmente, você pode incluir a `agentAssignment` entrada para personalizar a tarefa.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     createIssue(input: {\n       repositoryId: \"REPOSITORY_ID\",\n       title: \"Implement comprehensive unit tests\",\n       body: \"DETAILS\",\n       assigneeIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Add comprehensive test coverage\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       issue {\n         id\n         title\n         assignees(first: 10) {\n           nodes {\n             login\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n#### Atribuir um issue existente\n\n1. Verifique se você está autenticando com a API usando um token de usuário, por exemplo, um personal access token ou um GitHub App token de usuário para servidor.\n\n2. Verifique se Copilot cloud agent está habilitado no repositório verificando se o `suggestedActors` do repositório na API GraphQL inclui Copilot. Substitua `octo-org` pelo proprietário do repositório e `octo-repo` pelo nome do repositório.\n\n   ```graphql copy\n   query {\n     repository(owner: \"monalisa\", name: \"octocat\") {\n       suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {\n         nodes {\n           login\n           __typename\n\n           ... on Bot {\n             id\n           }\n\n           ... on User {\n             id\n           }\n         }\n       }\n     }\n   }\n   ```\n\n   Se Copilot cloud agent estiver habilitado para o usuário e no repositório, o primeiro nó retornado da consulta terá o `login` valor `copilot-swe-agent`.\n\n3. Busque a ID global do GraphQL do problema ao qual você deseja atribuir Copilot, substituindo `monalisa` pelo proprietário do repositório, `octocat` pelo nome e `9000` pelo número do problema.\n\n   ```graphql copy\n   query {\n     repository(owner: \"monalisa\", name: \"octocat\") {\n       issue(number: 9000) {\n         id\n         title\n       }\n     }\n   }\n   ```\n\n4. Atribua o problema existente a Copilot usando a mutação `replaceActorsForAssignable`. Substitua `ISSUE_ID` pela ID retornada da etapa anterior, `BOT_ID` pela ID retornada da etapa anterior e `REPOSITORY_ID` pela ID do repositório. Opcionalmente, você pode incluir a `agentAssignment` entrada para personalizar a tarefa.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     replaceActorsForAssignable(input: {\n       assignableId: \"ISSUE_ID\",\n       actorIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Fix the reported bug\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       assignable {\n         ... on Issue {\n           id\n           title\n           assignees(first: 10) {\n             nodes {\n               login\n             }\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n5. Como alternativa, você pode usar a `updateIssue` mutação para atualizar um problema existente e atribuí-lo a Copilot. Substitua `ISSUE_ID` pela ID do problema e `BOT_ID` pela ID do bot.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     updateIssue(input: {\n       id: \"ISSUE_ID\",\n       assigneeIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Update feature implementation\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       issue {\n         id\n         title\n         assignees(first: 10) {\n           nodes {\n             login\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n6. Você também pode usar a `addAssigneesToAssignable` alteração para adicionar Copilot a um problema existente, mantendo os outros responsáveis. Substitua `ISSUE_ID` pela ID do problema e `BOT_ID` pela ID do bot.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     addAssigneesToAssignable(input: {\n       assignableId: \"ISSUE_ID\",\n       assigneeIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Collaborate on this task\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       assignable {\n         ... on Issue {\n           id\n           title\n           assignees(first: 10) {\n             nodes {\n               login\n             }\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n### Usando a API REST\n\nVocê pode usar os seguintes pontos de extremidade da API REST para atribuir problemas a Copilot:\n\n* [Adicionar atribuições a um problema](/pt/rest/issues/assignees#add-assignees-to-an-issue)\n* [Criar um problema](/pt/rest/issues/issues#create-an-issue)\n* [Atualizar um problema](/pt/rest/issues/issues#update-an-issue)\n\n#### Adicionando responsáveis a um problema já existente\n\n```shell copy\ngh api \\\n  --method POST \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  /repos/OWNER/REPO/issues/ISSUE_NUMBER/assignees \\\n  --input - <<< '{\n  \"assignees\": [\"copilot-swe-agent[bot]\"],\n  \"agent_assignment\": {\n    \"target_repo\": \"OWNER/REPO\",\n    \"base_branch\": \"main\",\n    \"custom_instructions\": \"\",\n    \"custom_agent\": \"\",\n    \"model\": \"\"\n  }\n}'\n```\n\n#### Criando um novo problema\n\n```shell copy\ngh api \\\n  --method POST \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  /repos/OWNER/REPO/issues \\\n  --input - <<< '{\n  \"title\": \"Issue title\",\n  \"body\": \"Issue description.\",\n  \"assignees\": [\"copilot-swe-agent[bot]\"],\n  \"agent_assignment\": {\n    \"target_repo\": \"OWNER/REPO\",\n    \"base_branch\": \"main\",\n    \"custom_instructions\": \"\",\n    \"custom_agent\": \"\",\n    \"model\": \"\"\n  }\n}'\n```\n\n#### Atualizando um problema existente\n\n```shell copy\ngh api \\\n  --method PATCH \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  /repos/OWNER/REPO/issues/ISSUE_NUMBER \\\n  --input - <<< '{\n  \"assignees\": [\"copilot-swe-agent[bot]\"],\n  \"agent_assignment\": {\n    \"target_repo\": \"OWNER/REPO\",\n    \"base_branch\": \"main\",\n    \"custom_instructions\": \"\",\n    \"custom_agent\": \"\",\n    \"model\": \"\"\n  }\n}'\n```\n\n## Leitura adicional\n\n* [Endpoints da API REST para tarefas de agente](/pt/rest/agent-tasks/agent-tasks)\n* [Sobre o agente de nuvem do GitHub Copilot](/pt/copilot/concepts/agents/cloud-agent/about-cloud-agent)\n* [Iniciando sessões do GitHub Copilot](/pt/copilot/how-tos/use-copilot-agents/cloud-agent/start-copilot-sessions)"}