Panoramica
Usa questa guida se sei un amministratore dell’area di lavoro ChatGPT che configura il modello di app Enterprise per la tua organizzazione di GitHub. Un modello non è l’app finale usata dai membri. È un flusso di configurazione che crea un’app bozza specifica per l’area di lavoro dopo che hai fornito la configurazione GitHub Enterprise richiesta.
Per GitHub Enterprise, la configurazione connette ChatGPT all’host GitHub Enterprise della tua organizzazione. Crei una GitHub App, registri l’URL di callback di ChatGPT, generi le credenziali e poi incolli questi valori nel flusso di configurazione del modello ChatGPT. Dopo che ChatGPT crea l’app bozza, puoi pubblicarla e gestirla come le altre app dell’area di lavoro.
Cosa stai configurando
Stai creando in ChatGPT un’app GitHub Enterprise specifica per l’area di lavoro. L’app usa:
Una GitHub App registrata sul tuo host GitHub Enterprise.
L’ID client e il segreto client della GitHub App per l’autorizzazione utente OAuth.
La chiave privata della GitHub App affinché ChatGPT possa generare token di installazione per le operazioni sui repository.
Un segreto webhook e un URL webhook affinché GitHub Enterprise possa inviare a ChatGPT eventi di installazione e repository.
Il nome host GitHub Enterprise, ad esempio
github.example.com.
Crea una GitHub App, non una GitHub OAuth App autonoma. La configurazione del modello ChatGPT richiede credenziali GitHub App, una chiave privata e impostazioni webhook.
Prima di iniziare
Ti servono:
Accesso da amministratore o proprietario dell’area di lavoro ChatGPT.
Accesso da amministratore GitHub Enterprise o proprietario dell’organizzazione che possa creare e installare GitHub Apps.
Solo il nome host GitHub Enterprise, senza
https://o un percorso.Una decisione sulle azioni repository che ChatGPT deve supportare, ad esempio ricerca di repository in sola lettura, workflow di pull request, workflow di issue, modifiche ai file, GitHub Actions o workflow Codex più ampi.
Un luogo sicuro per gestire la chiave privata e il segreto client della GitHub App.
Tieni ChatGPT e GitHub Enterprise aperti in schede separate. Non inventare l’URL di callback. Copia l’URL di callback esatto mostrato in ChatGPT.
Valori da preparare
Nome host GitHub Enterprise: ad esempio,
github.example.com.URL di callback: copialo dal flusso di configurazione del modello ChatGPT.
ID client della GitHub App.
Segreto client della GitHub App.
Chiave privata PEM della GitHub App.
Segreto webhook generato da ChatGPT.
URL webhook generato dopo la creazione dell’app bozza in ChatGPT.
Avvia la configurazione del modello in ChatGPT
In ChatGPT, passa all’area di lavoro in cui l’app deve essere disponibile.
Apri Impostazioni area di lavoro > App.
Seleziona Directory.
Cerca GitHub Enterprise.
Seleziona il modello di app GitHub Enterprise e avvia la configurazione.
Inserisci un nome e una descrizione chiari per l’app, ad esempio GitHub Enterprise o GitHub Enterprise - Engineering.
Inserisci il nome host GitHub Enterprise, ad esempio
github.example.com.Copia l’URL di callback mostrato in ChatGPT. Tieni aperta questa scheda.
Copia il segreto webhook generato se viene mostrato durante la configurazione.
URL di callback di esempio: https://chatgpt.com/connector/oauth/<callback_id>
Non rimuovere l’ID callback, non aggiungere una barra finale e non sostituirlo con un URL ChatGPT generico.
Crea la GitHub App in GitHub Enterprise
Apri il tuo host GitHub Enterprise, ad esempio
https://github.example.com.Vai all’organizzazione o all’account che deve possedere l’app.
Apri Settings > Developer settings > GitHub Apps.
Seleziona New GitHub App.
Inserisci un nome chiaro per l’app, ad esempio ChatGPT GitHub Enterprise Connector.
Inserisci un URL della home page. Se non esiste una pagina interna dedicata, usa l’URL dell’organizzazione GitHub Enterprise.
In Callback URL, incolla l’URL di callback esatto copiato da ChatGPT.
Mantieni abilitata l’opzione Expire user authorization tokens, salvo indicazioni specifiche del tuo team di sicurezza.
Abilita Request user authorization during installation per consentire agli utenti di autorizzare l’app durante l’installazione o il flusso di connessione.
In Where can this GitHub App be installed?, scegli l’opzione più restrittiva adatta al tuo rollout.
Crea la GitHub App.
Configura autorizzazioni ed eventi
Scegli le autorizzazioni minime richieste per le azioni ChatGPT che prevedi di abilitare.
Per individuare repository in sola lettura e per domande e risposte, inizia con autorizzazioni di lettura come:
Metadata: sola lettura. GitHub richiede i metadati per le GitHub Apps.
Contents: sola lettura, per accedere a file e contenuti dei repository.
Issues: sola lettura, se servono ricerca o lettura delle issue.
Pull requests: sola lettura, se serve la ricerca di pull request o il contesto di revisione.
Actions: sola lettura, se servono stato delle esecuzioni dei workflow, job, log o artefatti.
Per i workflow di scrittura, aggiungi autorizzazioni di scrittura solo dove necessario, ad esempio Contents, Pull requests, Issues, Actions o Workflows. Usa le autorizzazioni più restrittive che supportano le azioni ChatGPT previste.
Gli eventi webhook devono corrispondere ai workflow supportati. Gli eventi comuni includono Installation, Installation repositories, Push, Pull request, Issues, Issue comment, Workflow run e Workflow job.
Genera e copia le credenziali della GitHub App
Nelle impostazioni della GitHub App, copia il Client ID.
Genera un Client secret e copialo subito.
In Private keys, genera una chiave privata.
Scarica il file .pem e conservalo in modo sicuro.
Apri localmente il file .pem e copia tutto il testo PEM, incluse le righe iniziale e finale.
La chiave privata è sensibile. Trattala come una credenziale. Se viene esposta, genera una nuova chiave privata, aggiorna la configurazione dell’app ChatGPT ed elimina la chiave compromessa in GitHub Enterprise.
Completa la configurazione in ChatGPT
Torna alla scheda di configurazione del modello ChatGPT.
Incolla il Client ID della GitHub App in ID client OAuth.
Incolla il Client secret della GitHub App in Segreto client OAuth.
Lascia Ambiti invariato, a meno che la tua organizzazione non debba sostituire intenzionalmente le impostazioni predefinite del modello.
Conferma che il nome host GitHub Enterprise sia solo il nome host, ad esempio
github.example.com.Incolla o carica la chiave privata PEM della GitHub App in Chiave privata GitHub App.
Conferma che il segreto webhook generato sia presente.
Crea l’app bozza.
Apri in ChatGPT i dettagli dell’app bozza creata e copia l’URL webhook generato.
L’URL webhook dovrebbe avere questo formato: https://connectors.api.openai.org/connectors/<connector_id>/webhook
Completa la configurazione del webhook in GitHub Enterprise
Torna alle impostazioni della GitHub App in GitHub Enterprise.
Apri le impostazioni generali della GitHub App.
Abilita Active webhooks se non sono già abilitati.
Incolla l’URL webhook di ChatGPT in Webhook URL.
Incolla il segreto webhook di ChatGPT in Webhook secret.
Mantieni abilitata la verifica SSL.
Conferma che gli eventi webhook sottoscritti corrispondano alle autorizzazioni e alle azioni abilitate.
Salva le modifiche.
Pubblica e gestisci l’app in ChatGPT
La creazione dell’app bozza non la rende automaticamente disponibile ai membri. Dopo aver esaminato la bozza:
Pubblica l’app bozza.
Conferma che l’app compaia in Impostazioni area di lavoro > App > Abilitate.
Configura Accesso utente per i ruoli che devono usarla.
Rivedi Controllo azioni per le azioni di lettura e scrittura.
Rivedi Autorizzazioni app per scegliere quando ChatGPT deve chiedere conferma ai membri prima di usare l’app.
Chiedi a un utente di test autorizzato di aprire App in ChatGPT e confermare che l’app compaia.
Queste autorizzazioni dell’app si applicano alle conversazioni ChatGPT. Gli agenti dell’area di lavoro usano controlli per agente impostati dal builder dell’agente per determinare quali azioni dell’app sono disponibili e quando agli utenti finali viene chiesto di approvarle. Per il comportamento degli agenti, consulta: Agenti dell’area di lavoro ChatGPT per Enterprise e Business.
Installa e testa la GitHub App
In GitHub Enterprise, installa l’app GitHub nell’organizzazione o nell’account.
Scegli tutti i repository o repository selezionati in base alla policy dell’area di lavoro.
Avvia il flusso di connessione da ChatGPT come utente autorizzato.
Autorizza l’app GitHub quando richiesto.
Esegui prima una piccola azione di lettura, ad esempio elencare i repository accessibili o recuperare una pull request nota.
Se le azioni di scrittura sono abilitate, testale con un repository a basso rischio prima di un rollout più ampio.
Nome host e comportamento OAuth
ChatGPT usa il nome host per derivare gli endpoint GitHub Enterprise. Inserisci solo l’host, ad esempio github.example.com o octocorp.ghe.com.
Non inserire un percorso API, un percorso repository o github.com, a meno che non sia l’host GitHub Enterprise esatto per questa app.
Risoluzione dei problemi
Mancata corrispondenza URI di reindirizzamento: conferma che l’URL di callback della GitHub App corrisponda esattamente all’URL di callback mostrato in ChatGPT.
ChatGPT non riesce a creare o salvare l’app bozza: conferma che siano presenti tutti i campi obbligatori, inclusi nome host, ID client OAuth, Segreto client OAuth, chiave privata e segreto webhook.
L’autenticazione riesce ma le chiamate ai repository falliscono: conferma che la GitHub App sia installata e abbia accesso al repository.
L’API restituisce 403 o autorizzazioni insufficienti: aggiungi l’autorizzazione GitHub App mancante e chiedi al proprietario dell’installazione di approvare le autorizzazioni aggiornate, se richiesto.
Non compare alcun repository: conferma che l’installazione dell’app includa i repository previsti e che l’utente che autorizza in ChatGPT vi abbia accesso.
Le consegne webhook falliscono: conferma che l’URL webhook e il segreto webhook corrispondano ai valori di ChatGPT, mantieni abilitata la verifica SSL e assicurati che l’host GitHub Enterprise possa raggiungere
connectors.api.openai.org.Errori della chiave privata: conferma che sia stato copiato l’intero contenuto PEM, incluse le righe iniziale e finale.
