{"meta":{"title":"Uso de Copilot agente en la nube a través de la API","intro":"Puede iniciar y administrar Copilot cloud agent tareas mediante programación mediante la API REST.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/how-tos","title":"Procedimientos"},{"href":"/es/copilot/how-tos/use-copilot-agents","title":"Utilice agentes de Copilot"},{"href":"/es/copilot/how-tos/use-copilot-agents/cloud-agent","title":"Cloud agent"},{"href":"/es/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-via-the-api","title":"Uso del agente en la nube a través de la API"}],"documentType":"article"},"body":"# Uso de Copilot agente en la nube a través de la API\n\nPuede iniciar y administrar Copilot cloud agent tareas mediante programación mediante la API REST.\n\nPuede usar la API de tareas del agente para integrar cloud agent en tus propias herramientas y flujos de trabajo. Por ejemplo, puede iniciar una nueva tarea, enumerar las tareas existentes o comprobar el estado de una tarea.\n\nAdemás, puede usar las API REST y GraphQL de incidencias para asignar las incidencias a Copilot.\n\n## Uso de la API de tareas del agente\n\n> \\[!NOTE]\n> La API de tareas del agente está en versión preliminar pública y está sujeta a cambios.\n\n### Autenticación\n\nLa API de tareas del agente solo admite tokens de usuario a servidor. Puede autenticarse mediante un personal access tokentoken , un OAuth app token o un GitHub App token de usuario a servidor.\n\nNo se admiten tokens de servidor a servidor, como GitHub App tokens de acceso de instalación.\n\n### Inicio de una tarea mediante la API\n\nPara iniciar una nueva cloud agent tarea, envíe una `POST` solicitud a `/agents/repos/{owner}/{repo}/tasks`. El único parámetro necesario es `prompt`, que es la solicitud del 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\nReemplace los valores de los marcadores de posición siguientes:\n\n* ```\n            `YOUR-TOKEN`: un token personal access token o GitHub App de usuario a servidor.\n  ```\n* `OWNER`: el propietario de la cuenta del repositorio.\n* `REPO`: nombre del repositorio.\n\nTambién puede incluir los siguientes parámetros opcionales en el cuerpo de la solicitud:\n\n* ```\n            `base_ref`: la rama base de la nueva rama y la solicitud de incorporación de cambios.\n  ```\n* `model`: modelo de IA que se va a usar para la tarea. Si se omite, se usa auto model selection. Para obtener más información sobre los modelos admitidos, consulte [Puntos de conexión de api REST para tareas del agente](/es/rest/agent-tasks/agent-tasks).\n* `create_pull_request`: un valor booleano que determina si crear un pull request para la tarea.\n\n### Enumeración de tareas\n\nPuede enumerar las tareas de un repositorio específico o de todos los repositorios a los que tiene acceso.\n\nPara enumerar las tareas de un repositorio 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 enumerar las tareas en todos los repositorios:\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### Comprobación del estado de una tarea\n\nPara comprobar el estado de una tarea específica, envíe una `GET` solicitud con el identificador de tarea:\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\nReemplace `TASK-ID` por el identificador de la tarea que desea comprobar. Puede obtener este identificador de la respuesta al crear una tarea o enumerar tareas. La respuesta incluye el estado actual `state` de la tarea, que puede ser uno de los siguientes: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out` o `cancelled`.\n\n## Uso de la API de incidencias\n\n> \\[!NOTE]\n> Esta característica está en versión preliminar pública y está sujeta a cambios.\n\nPuede asignar problemas al Copilot usando la API GraphQL o la API REST. Ambas API admiten una entrada opcional de asignación de agente para personalizar la tarea:\n\n| Parámetro GraphQL    | Parámetro REST        | Description                                      |\n| -------------------- | --------------------- | ------------------------------------------------ |\n| `targetRepositoryId` | `target_repo`         | Repositorio en el que Copilot funcionará         |\n| `baseRef`            | `base_branch`         | La rama en la que Copilot creará una nueva rama  |\n| `customInstructions` | `custom_instructions` | Instrucciones adicionales para Copilot           |\n| `customAgent`        | `custom_agent`        | El custom agent que se vaya a usar para la tarea |\n| `model`              | `model`               | El modelo de Copilot que se vaya a usar          |\n\n### Utilizar la API de GraphQL\n\n> \\[!NOTE]\n> Debe incluir el `GraphQL-Features` encabezado con los valores `issues_copilot_assignment_api_support` y `coding_agent_model_selection`.\n\nPuede usar las siguientes mutaciones de GraphQL para asignar problemas a Copilot:\n\n* [`updateIssue`](/es/graphql/reference/issues#mutation-updateissue)\n* [`createIssue`](/es/graphql/reference/issues#mutation-createissue)\n* [`addAssigneesToAssignable`](/es/graphql/reference/issues#mutation-addassigneestoassignable)\n* [`replaceActorsForAssignable`](/es/graphql/reference/issues#mutation-replaceactorsforassignable)\n\n#### Creación y asignación de una nueva propuesta\n\n1. Asegúrese de autenticarse con la API mediante un token de usuario, por ejemplo, un personal access token token de usuario a servidor o un GitHub App token de usuario a servidor.\n\n   > \\[!NOTE]\n   > Si usa fine-grained personal access token, necesita los siguientes permisos para asignar Copilot a un problema.\n   >\n   > * Acceso de lectura a los metadatos\n   > * Acceso de lectura y escritura a acciones, contenidos, incidencias y solicitudes de extracción\n   >\n   > Si se va a usar un personal access token (classic), necesita utilizar el permiso `repo` para asignar Copilot a una incidencia.\n\n2. Compruebe que Copilot cloud agent está habilitado en el repositorio comprobando si el repositorio de `suggestedActors` GraphQL API incluye Copilot. Reemplaza `octo-org` por el propietario del repositorio y `octo-repo` por el nombre del repositorio.\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   Si Copilot cloud agent está habilitado para el usuario y en el repositorio, el primer nodo devuelto de la consulta tendrá el `login` valor `copilot-swe-agent`.\n\n3. Anota el valor `id` de este inicio de sesión.\n\n4. Captura el identificador global de GraphQL del repositorio en el que deseas crear la propuesta, reemplaza `octo-org` por el propietario del repositorio y `octo-repo` por el nombre del repositorio.\n\n   ```graphql copy\n   query {\n     repository(owner: \"octo-org\", name: \"octo-repo\") {\n       id\n     }\n   }\n   ```\n\n5. Cree la propuesta con la mutación `createIssue`. Reemplaza `REPOSITORY_ID` por el id. devuelto del paso anterior y `BOT_ID` por el id. devuelto por el paso anterior a ese. Opcionalmente, puede incluir la `agentAssignment` entrada para personalizar la tarea.\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#### Asignación de una propuesta existente\n\n1. Asegúrese de autenticarse con la API mediante un token de usuario, por ejemplo, un personal access token token de usuario a servidor o un GitHub App token de usuario a servidor.\n\n2. Compruebe que Copilot cloud agent está habilitado en el repositorio comprobando si el repositorio de `suggestedActors` GraphQL API incluye Copilot. Reemplaza `octo-org` por el propietario del repositorio y `octo-repo` por el nombre del repositorio.\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   Si Copilot cloud agent está habilitado para el usuario y en el repositorio, el primer nodo devuelto de la consulta tendrá el `login` valor `copilot-swe-agent`.\n\n3. Capture el identificador global de GraphQL del problema que desea asignar a Copilot, reemplazando `monalisa` por el propietario del repositorio, `octocat` por el nombre y `9000` por el número de 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. Asigne el problema existente a Copilot utilizando la mutación `replaceActorsForAssignable`. Reemplace `ISSUE_ID` por el identificador devuelto del paso anterior, `BOT_ID` por el identificador devuelto del paso anterior y `REPOSITORY_ID` por el identificador del repositorio. Opcionalmente, puede incluir la `agentAssignment` entrada para personalizar la tarea.\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, puede usar la `updateIssue` mutación para actualizar un problema existente y asignarlo a Copilot. Reemplace `ISSUE_ID` por el identificador de problema y `BOT_ID` por el identificador del 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. También puede usar la instrucción de mutación `addAssigneesToAssignable` para añadir Copilot a una incidencia existente, junto con los usuarios que ya la tienen asignada. Reemplace `ISSUE_ID` por el identificador de problema y `BOT_ID` por el identificador del 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### Uso de la API REST\n\nPuede usar los siguientes puntos de conexión de la API REST para asignar problemas a Copilot:\n\n* ```\n            [Agregar usuarios asignados a una incidencia](/rest/issues/assignees#add-assignees-to-an-issue)\n  ```\n* [Creación de un problema](/es/rest/issues/issues#create-an-issue)\n* [Actualización de un problema](/es/rest/issues/issues#update-an-issue)\n\n#### Añadir asignados a un problema 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#### Creación de un 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#### Actualización de un 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## Lectura adicional\n\n* [Puntos de conexión de api REST para tareas del agente](/es/rest/agent-tasks/agent-tasks)\n* [Acerca de GitHub Copilot agente en la nube](/es/copilot/concepts/agents/cloud-agent/about-cloud-agent)\n* [Inicio de sesiones de GitHub Copilot](/es/copilot/how-tos/use-copilot-agents/cloud-agent/start-copilot-sessions)"}