Note
As GitHub Copilot Extensions estão em versão prévia pública e sujeitas a alterações.
Pré-requisitos
Antes de configurar seu Copilot agent para se comunicar com o GitHub, você deve entender como seu Copilot agent se comunica com a plataforma Copilot. Confira "Configurar o agente do Copilot para se comunicar com a plataforma Copilot".
Verificar se as payloads são provenientes do GitHub
Antes que o Copilot agent comece a processar uma solicitação, verifique se a solicitação veio do GitHub e se ela se destina ao seu agente. Todas as solicitações de agente contêm os cabeçalhos Github-Public-Key-Identifier
e Github-Public-Key-Signature
. Para verificar a assinatura de uma solicitação específica, compare a assinatura no cabeçalho Github-Public-Key-Signature
com uma cópia assinada do corpo da solicitação usando a chave pública atual listada em https://api.github.com/meta/public_keys/copilot_api.
Para obter mais detalhes e exemplos de verificação de assinatura em idiomas específicos, consulte o repositório github-technology-partners/signature-verification
.
Buscando recursos da API do GitHub
As solicitações para seu Copilot agent receberão um cabeçalho X-Github-Token
. Esse cabeçalho contém um token de API que pode ser usado para buscar recursos da API do GitHub em nome do usuário que interage com seu agente. As permissões desse token são a sobreposição das próprias permissões do usuário e as permissões concedidas à sua instalação do GitHub App.
Para obter um exemplo de como usar o X-Github-Token
, consulte o seguinte exemplo de código:
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 saber mais sobre como trabalhar com a API do GitHub e explorar os SDKs (Software Development Kits) oficiais, consulte a organização octokit
.