Accesso a GitHub
Connetti il tuo agente ai repository GitHub per clonare, leggere e creare pull request.
Puoi montare un repository GitHub nel sandbox della tua sessione e connetterti al GitHub MCP per creare pull request.
I repository GitHub vengono memorizzati nella cache, quindi le sessioni future che utilizzano lo stesso repository si avviano più velocemente.
GitHub MCP e risorse della sessione
Per prima cosa, crea un agente che dichiara il server GitHub MCP. La definizione dell'agente contiene l'URL del server ma nessun token di autenticazione:
ant apply code-reviewer.md---
name: Code Reviewer
model: claude-opus-5-5
mcp_servers:
- type: url
name: github
url: https://api.githubcopilot.com/mcp/
tools:
- type: agent_toolset_20260401
- type: mcp_toolset
mcp_server_name: github
---
You are a code review assistant with access to GitHub.Quindi crea una sessione che monti il repository GitHub. Con un ambiente limited, la creazione della sessione fallisce con un errore 400 quando l'agente dichiara un server MCP il cui host non è in allowed_hosts. Impostare allow_mcp_servers: true nella configurazione di rete dell'ambiente disattiva questo controllo.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "github_repository",
"url": "https://github.com/org/repo",
"mount_path": "/workspace/repo",
"authorization_token": "ghp_your_github_token",
},
],
)Una risorsa github_repository accetta i seguenti campi:
| Campo | Descrizione |
|---|---|
type | Obbligatorio. Deve essere "github_repository". |
url | Obbligatorio. L'URL HTTPS del repository nella forma https://github.com/<owner>/<repo>, senza il suffisso .git. Altre forme, inclusi gli URL SSH, vengono rifiutate con un invalid_request_error. |
authorization_token | Obbligatorio. Il token GitHub utilizzato per clonare il repository. Non viene restituito nelle risposte API. Consulta Permessi del token. |
mount_path | Opzionale. La directory sotto /workspace in cui clonare il repository. Il valore predefinito è /workspace/<repo-name>. |
checkout | Opzionale. Un branch ({"type": "branch", "name": "main"}) o commit ({"type": "commit", "sha": "..."}) da effettuare il checkout. Il valore predefinito è il branch predefinito del repository. |
Il montaggio di un repository carica anche eventuali skill memorizzate nella sua directory radice