Skip to main content

Configuración del agente de Copilot para comunicarse con GitHub

Obtenga información sobre cómo comprobar las cargas y obtener recursos de GitHub con su Copilot agent.

Note

GitHub Copilot Extensions se encuentra en versión preliminar pública y está sujeto a cambios.

Requisitos previos

Antes de configurar Copilot agent para comunicarse con GitHub, debe comprender cómo se comunica su Copilot agent con la plataforma de Copilot. Consulte "Configuración del agente de Copilot para comunicarse con la plataforma de Copilot".

Comprobación de que las cargas proceden de GitHub

Antes de que Copilot agent comience a procesar una solicitud, debe comprobar que la solicitud procede de GitHub y que está pensada para su agente. Todas las solicitudes del agente contienen los encabezados Github-Public-Key-Identifier y Github-Public-Key-Signature. Para comprobar la firma de una solicitud determinada, compare la firma en el encabezado Github-Public-Key-Signature con una copia firmada del cuerpo de la solicitud mediante la clave pública actual que se muestra en https://api.github.com/meta/public_keys/copilot_api.

Para obtener más detalles y ejemplos de comprobación de firmas en idiomas específicos, consulte el repositorio github-technology-partners/signature-verification.

Captura de recursos de la API de GitHub

Las solicitudes a Copilot agent tendrán un encabezado X-Github-Token. Este encabezado contiene un token de API que se puede usar para capturar recursos de la API de GitHub en nombre del usuario que interactúa con el agente. Los permisos de este token son la superposición de los propios permisos del usuario y los permisos concedidos a la instalación de GitHub App.

Para obtener un ejemplo de cómo puede usar X-Github-Token, vea el ejemplo de código siguiente:

async function whoami(req) {
  const response = await fetch(
    // The GitHub API endpoint for the authenticated user
    "https://api.github.com/user",
    {
      headers: {
        "Authorization": `Bearer ${req.headers.get("x-github-token")}`
      }
    }
  )

  const user = await response.json()
  return user
}

Para obtener más información sobre cómo trabajar con la API de GitHub y explorar kits de desarrollo de software (SDK) oficiales), consulte la organización octokit.