Skip to main content

Uso de Copilot agente en la nube a través de la API

Puede iniciar y administrar agente en la nube de Copilot tareas mediante programación mediante la API REST.

¿Quién puede utilizar esta característica?

Organizaciones y empresas con un plan de Copilot Business o Copilot Enterprise.

Nota:

La API de tareas del agente está en versión preliminar pública y está sujeta a cambios.

Puede usar la API de tareas del agente para integrar agente de nube 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.

Para obtener la referencia completa de la API, consulte Puntos de conexión de api REST para tareas del agente.

Autenticación

La 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.

No se admiten tokens de servidor a servidor, como GitHub App tokens de acceso de instalación.

Inicio de una tarea mediante la API

Para iniciar una nueva agente de nube 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.

Shell
curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks \
  -d '{
    "prompt": "Fix the login button on the homepage",
    "base_ref": "main"
  }'

Reemplace los valores de los marcadores de posición siguientes:

  • YOUR-TOKEN: un token personal access token o GitHub App de usuario a servidor.
  • OWNER: el propietario de la cuenta del repositorio.
  • REPO: nombre del repositorio.

También puede incluir los siguientes parámetros opcionales en el cuerpo de la solicitud:

  • base_ref: La rama base de la nueva rama y la solicitud de extracción.
  • model: modelo de IA que se va a usar para la tarea. Si se omite, se usa selección automática de modelos. Para obtener más información sobre los modelos admitidos, consulte Puntos de conexión de api REST para tareas del agente.
  • create_pull_request: un valor booleano que determina si crear un pull request para la tarea.

Enumeración de tareas

Puede enumerar las tareas de un repositorio específico o de todos los repositorios a los que tiene acceso.

Para enumerar las tareas de un repositorio específico:

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks

Para enumerar las tareas en todos los repositorios:

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/tasks

Comprobación del estado de una tarea

Para comprobar el estado de una tarea específica, envíe una GET solicitud con el identificador de tarea:

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks/TASK-ID

Reemplace 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.

Lectura adicional