Overzicht
Gebruik deze handleiding als je als beheerder van een ChatGPT-werkruimte de app-sjabloon voor GitHub Enterprise instelt voor je organisatie. Een sjabloon is niet de uiteindelijke app die leden gebruiken. Het is een configuratieproces dat een concept-app voor een specifieke werkruimte aanmaakt nadat je de vereiste GitHub Enterprise-configuratie hebt opgegeven.
Bij GitHub Enterprise verbindt de configuratie ChatGPT met de GitHub Enterprise-host van je organisatie. Je maakt een GitHub App aan, registreert de callback-URL van ChatGPT, genereert de inloggegevens en plakt die waarden vervolgens in het sjabloonconfiguratieproces van ChatGPT. Nadat ChatGPT de concept-app heeft aangemaakt, kun je deze publiceren en beheren zoals andere apps in de werkruimte.
Zie voor navigatie in de werkruimte en toegang tot apps: Beheeropties, beveiliging en compliance voor plug-ins en apps.
Wat je gaat instellen
Je maakt in ChatGPT een GitHub Enterprise-app aan voor een specifieke werkruimte. De app gebruikt:
Een GitHub App die is geregistreerd op je GitHub Enterprise-host.
De client-ID en het clientgeheim van de GitHub App voor gebruikersautorisatie via OAuth.
De privésleutel van de GitHub App, zodat ChatGPT installatietokens kan genereren voor bewerkingen op repository's.
Een webhookgeheim en een webhook-URL, zodat GitHub Enterprise installatie- en repositorygebeurtenissen kan terugsturen naar ChatGPT.
Je GitHub Enterprise-hostnaam, zoals
github.example.com.
Maak een GitHub App aan, geen zelfstandige GitHub OAuth App. Voor de sjabloonconfiguratie in ChatGPT zijn GitHub App-inloggegevens, een privésleutel en webhookinstellingen vereist.
Voordat je begint
Je hebt het volgende nodig:
Toegang als beheerder of eigenaar van een ChatGPT-werkruimte.
Toegang als GitHub Enterprise-beheerder of organisatie-eigenaar met rechten om GitHub Apps aan te maken en te installeren.
Alleen de hostnaam van GitHub Enterprise, zonder
https://of een pad.Een keuze voor de repositoryacties die ChatGPT moet ondersteunen, zoals repository's doorzoeken zonder wijzigingen aan te brengen, workflows voor pull requests of issues, bestandsbewerkingen, GitHub Actions of uitgebreidere Codex-workflows.
Een veilige plek om de privésleutel en het clientgeheim van de GitHub App te beheren.
Houd ChatGPT en GitHub Enterprise open in aparte tabbladen. Bedenk de callback-URL niet zelf. Kopieer de exacte callback-URL die in ChatGPT wordt weergegeven.
Waarden om klaar te zetten
GitHub Enterprise-hostnaam: bijvoorbeeld
github.example.com.Callback-URL: kopieer deze uit het sjabloonconfiguratieproces van ChatGPT.
Client-ID van de GitHub App.
Clientgeheim van de GitHub App.
Privésleutel van de GitHub App in PEM-formaat.
Webhookgeheim dat door ChatGPT is gegenereerd.
Webhook-URL die wordt gegenereerd nadat de concept-app in ChatGPT is aangemaakt.
Begin met het instellen van de sjabloon in ChatGPT
Schakel in ChatGPT over naar de werkruimte waarin de app beschikbaar moet zijn.
Open Werkruimte-instellingen > Apps. Je kunt ook naar de beheerconsole gaan, de gewenste ChatGPT-werkruimte selecteren en Plug-ins openen. Selecteer Verouderde apps beheren om de behouden pagina Apps te openen.
Selecteer App-directory.
Zoek naar GitHub Enterprise.
Selecteer de app-sjabloon voor GitHub Enterprise en start de configuratie.
Voer een duidelijke app-naam en beschrijving in, zoals GitHub Enterprise of GitHub Enterprise - Engineering.
Voer de hostnaam van GitHub Enterprise in, zoals
github.example.com.Kopieer de callback-URL die in ChatGPT wordt weergegeven. Laat dit tabblad open.
Kopieer het gegenereerde webhookgeheim als dit tijdens de configuratie wordt weergegeven.
Voorbeeld van een callback-URL: https://chatgpt.com/connector/oauth/<callback_id>
Verwijder de callback-ID niet, voeg geen schuine streep aan het einde toe en vervang de URL niet door een algemene ChatGPT-URL.
De GitHub-app maken in GitHub Enterprise
Open je GitHub Enterprise-host, bijvoorbeeld
https://github.example.com.Ga naar de organisatie of het account dat eigenaar van de app moet worden.
Open Instellingen > Ontwikkelaarsinstellingen > GitHub-apps.
Selecteer Nieuwe GitHub-app.
Voer een duidelijke appnaam in, bijvoorbeeld ChatGPT GitHub Enterprise.
Voer een URL voor de homepage in. Als er geen specifieke interne pagina is, gebruik dan de URL van de GitHub Enterprise-organisatie.
Plak bij Callback-URL de exacte callback-URL die je uit ChatGPT hebt gekopieerd.
Laat Autorisatietokens voor gebruikers laten verlopen ingeschakeld, tenzij je beveiligingsteam een specifieke reden heeft om dit te wijzigen.
Schakel Gebruikersautorisatie aanvragen tijdens installatie in, zodat gebruikers de app tijdens het installeren of verbinden kunnen autoriseren.
Kies bij Waar kan deze GitHub-app worden geïnstalleerd? de meest beperkende optie die bij je uitrol past.
Maak de GitHub-app.
Configureer machtigingen en gebeurtenissen
Kies de minimale machtigingen die nodig zijn voor de ChatGPT-acties die je wilt inschakelen.
Om repository's te vinden en er vragen over te beantwoorden zonder wijzigingen aan te brengen, begin je met leesmachtigingen zoals:
Metadata: alleen-lezen. GitHub vereist toegang tot metadata voor GitHub Apps.
Inhoud: alleen-lezen, voor toegang tot bestanden en repository-inhoud.
Issues: alleen-lezen, als issues moeten kunnen worden gezocht of gelezen.
Pull requests: alleen-lezen, als het zoeken naar pull requests of context voor beoordelingen nodig is.
Acties: alleen-lezen, als de uitvoeringsstatus van workflows, taken, logboeken of artefacten nodig zijn.
Voeg voor workflows die wijzigingen aanbrengen alleen schrijfmachtigingen toe waar dat nodig is, zoals Inhoud, Pull requests, Issues, Acties of Workflows. Gebruik zo beperkt mogelijke machtigingen die de beoogde ChatGPT-acties ondersteunen.
Webhookgebeurtenissen moeten aansluiten bij de workflows die je ondersteunt. Veelgebruikte gebeurtenissen zijn Installatie, Installatierepository's, Push, Pull request, Issues, Issuereactie, Workflowuitvoering en Workflowtaak.
Genereer en kopieer de GitHub App-inloggegevens
Kopieer de Client-ID in de instellingen van de GitHub App.
Genereer een Clientgeheim en kopieer dit meteen.
Genereer onder Privésleutels een privésleutel.
Download het .pem-bestand en bewaar het op een veilige plek.
Open het .pem-bestand lokaal en kopieer de volledige PEM-tekst, inclusief de begin- en eindregels.
De privésleutel is vertrouwelijk. Behandel deze als een inloggegeven. Als de sleutel uitlekt, genereer dan een nieuwe privésleutel, werk de app-configuratie in ChatGPT bij en verwijder de gelekte sleutel in GitHub Enterprise.
Rond de configuratie af in ChatGPT
Ga terug naar het tabblad voor de sjabloonconfiguratie in ChatGPT.
Plak de client-ID van de GitHub App in OAuth-client-ID.
Plak het clientgeheim van de GitHub App in OAuth-clientgeheim.
Laat Scopes ongewijzigd, tenzij je organisatie bewust moet afwijken van de standaardinstellingen van de sjabloon.
Controleer of de hostnaam van GitHub Enterprise alleen de hostnaam bevat, zoals
github.example.com.Plak of upload de privésleutel van de GitHub App in PEM-formaat in het veld Privésleutel van GitHub App.
Controleer of het gegenereerde webhookgeheim aanwezig is.
Maak de concept-app aan.
Open de details van de aangemaakte concept-app in ChatGPT en kopieer de gegenereerde webhook-URL.
De webhook-URL moet er zo uitzien: https://connectors.api.openai.org/connectors/<connector_id>/webhook
Rond de webhookconfiguratie af in GitHub Enterprise
Ga terug naar de instellingen van de GitHub App in GitHub Enterprise.
Open de algemene instellingen van de GitHub App.
Schakel Actieve webhooks in als deze nog niet zijn ingeschakeld.
Plak de webhook-URL van ChatGPT in Webhook-URL.
Plak het webhookgeheim van ChatGPT in Webhookgeheim.
Laat SSL-verificatie ingeschakeld.
Controleer of de webhookgebeurtenissen waarop je bent geabonneerd, aansluiten bij de machtigingen en acties die je hebt ingeschakeld.
Sla de wijzigingen op.
De app publiceren en beheren in ChatGPT
Als je een conceptversie van de app maakt, is deze niet automatisch beschikbaar voor leden. Nadat je de conceptversie hebt gecontroleerd:
Publiceer de conceptversie van de app.
Open in de werkruimte-instellingen de pagina Apps, open Ingeschakeld en controleer of de app wordt weergegeven. Je kunt de pagina Apps ook openen via Verouderde apps beheren in Beheerconsole > Plug-ins.
Gebruik in Enterprise en Edu Gebruikerstoegang om te kiezen welke rollen de app mogen gebruiken. Beheer in Business de beschikbaarheid van de app voor de hele werkruimte.
Controleer Actiebeheer voor lees- en schrijfacties.
Bekijk App-machtigingen om te kiezen wanneer ChatGPT leden om toestemming vraagt voordat de app wordt gebruikt.
Vraag een testgebruiker met toegang om Apps in ChatGPT te openen en te controleren of de app wordt weergegeven.
Deze app-machtigingen gelden voor gesprekken in ChatGPT. Werkruimte-agents gebruiken instellingen die de maker per agent opgeeft om te bepalen welke app-acties beschikbaar zijn en wanneer eindgebruikers om goedkeuring worden gevraagd. Zie voor het gedrag van agents: ChatGPT-werkruimte-agents voor Enterprise en Business.
Installeer en test de GitHub App
Installeer in GitHub Enterprise de GitHub-app voor de organisatie of het account.
Kies alle repository's of geselecteerde repository's, volgens het beleid van de werkruimte.
Start het verbindingsproces vanuit ChatGPT als gebruiker met toegang.
Autoriseer de GitHub-app wanneer daarom wordt gevraagd.
Voer eerst een kleine leesactie uit, zoals het opvragen van een lijst met toegankelijke repository's of het ophalen van een bekende pull request.
Als schrijfacties zijn ingeschakeld, test ze dan vóór een bredere uitrol in een repository waarin wijzigingen weinig risico opleveren.
Hostnaam en werking van OAuth
ChatGPT gebruikt de hostnaam om de GitHub Enterprise-eindpunten af te leiden. Voer alleen de hostnaam in, zoals github.example.com of octocorp.ghe.com.
Voer geen API-pad of repositorypad in. Voer ook geen github.com in, tenzij dat de exacte GitHub Enterprise-host voor deze app is.
Problemen oplossen
Omleidings-URI komt niet overeen: controleer of de callback-URL van de GitHub App exact overeenkomt met de callback-URL die in ChatGPT wordt weergegeven.
ChatGPT kan de concept-app niet aanmaken of opslaan: controleer of alle vereiste velden zijn ingevuld, waaronder de hostnaam, OAuth-client-ID, OAuth-clientgeheim, privésleutel en het webhookgeheim.
Authenticatie slaagt, maar repositoryaanroepen mislukken: controleer of de GitHub App is geïnstalleerd en toegang heeft tot de repository.
De API retourneert 403 of meldt onvoldoende machtigingen: voeg de ontbrekende machtiging voor de GitHub App toe en laat de installatie-eigenaar de bijgewerkte machtigingen goedkeuren als daarom wordt gevraagd.
Er worden geen repository's weergegeven: controleer of de app-installatie de verwachte repository's omvat en of de gebruiker die de app in ChatGPT autoriseert, toegang heeft tot die repository's.
Webhookleveringen mislukken: controleer of de webhook-URL en het webhookgeheim overeenkomen met de waarden uit ChatGPT, laat SSL-verificatie ingeschakeld en zorg dat de GitHub Enterprise-host
connectors.api.openai.orgkan bereiken.Fouten met de privésleutel: controleer of de volledige PEM-inhoud is gekopieerd, inclusief de begin- en eindregels.
