Overzicht
Gebruik deze handleiding als je een ChatGPT-werkruimtebeheerder bent die de GitHub-Enterprise-appsjabloon voor je organisatie instelt. Een sjabloon is niet de uiteindelijke app die leden gebruiken. Het is een configuratieflow die een werkruimtespecifieke concept-app maakt nadat je de vereiste GitHub Enterprise-configuratie hebt opgegeven.
Voor GitHub Enterprise verbindt de configuratie ChatGPT met de GitHub Enterprise-host van je organisatie. Je maakt een GitHub App, registreert de ChatGPT-callback-URL, genereert referenties en plakt die waarden vervolgens in de ChatGPT-sjabloonconfiguratieflow. Nadat ChatGPT de concept-app heeft gemaakt, kun je deze publiceren en beheren zoals andere werkruimte-apps.
Wat je instelt
Je maakt een werkruimtespecifieke GitHub Enterprise-app in ChatGPT. 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 OAuth-autorisatie van gebruikers.
De privésleutel van de GitHub App, zodat ChatGPT installatietokens kan aanmaken voor repositorybewerkingen.
Een webhookgeheim en webhook-URL, zodat GitHub Enterprise installatie- en repository-events terug naar ChatGPT kan sturen.
Je GitHub Enterprise-hostnaam, zoals
github.example.com.
Maak een GitHub App, geen zelfstandige GitHub OAuth App. Voor de ChatGPT-sjabloonconfiguratie zijn GitHub App-referenties, een privésleutel en webhookinstellingen vereist.
Voordat je begint
Je hebt nodig:
Toegang als ChatGPT-werkruimtebeheerder of -eigenaar.
Toegang als GitHub Enterprise-beheerder of organisatie-eigenaar waarmee je GitHub Apps kunt maken en installeren.
Alleen de GitHub Enterprise-hostnaam, zonder
https://of pad.Een beslissing over welke repository-acties ChatGPT moet ondersteunen, zoals alleen-lezen repositoryzoeken, pull request-workflows, issue-workflows, bestandsbewerkingen, GitHub Actions of bredere Codex-workflows.
Een veilige plek om de privésleutel en het clientgeheim van de GitHub App te verwerken.
Houd ChatGPT en GitHub Enterprise open in aparte tabbladen. Verzin de callback-URL niet zelf. Kopieer de exacte callback-URL die in ChatGPT wordt weergegeven.
Voor te bereiden waarden
GitHub Enterprise-hostnaam: bijvoorbeeld
github.example.com.Callback-URL: kopieer deze uit de ChatGPT-sjabloonconfiguratieflow.
Client-ID van GitHub App.
Clientgeheim van GitHub App.
PEM van de privésleutel van GitHub App.
Webhookgeheim gegenereerd door ChatGPT.
Webhook-URL die wordt gegenereerd nadat de concept-app in ChatGPT is gemaakt.
Start de sjabloonconfiguratie in ChatGPT
Schakel in ChatGPT over naar de werkruimte waar de app beschikbaar moet zijn.
Open Werkruimte-instellingen > Apps.
Selecteer Directory.
Zoek naar GitHub Enterprise.
Selecteer de app-sjabloon GitHub Enterprise en start de configuratie.
Voer een duidelijke appnaam 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. Houd dit tabblad open.
Kopieer het gegenereerde webhookgeheim als dit tijdens de configuratie wordt weergegeven.
Voorbeeld van callback-URL: https://chatgpt.com/connector/oauth/<callback_id>
Verwijder de callback-ID niet, voeg geen slash aan het einde toe en vervang deze niet door een algemene ChatGPT-URL.
Maak de GitHub App in GitHub Enterprise
Open je GitHub Enterprise-host, zoals
https://github.example.com.Ga naar de organisatie of het account dat eigenaar van de app moet zijn.
Open Settings > Developer settings > GitHub Apps.
Selecteer New GitHub App.
Voer een duidelijke appnaam in, zoals ChatGPT GitHub Enterprise Connector.
Voer een homepage-URL in. Als er geen speciale interne pagina is, gebruik je de GitHub Enterprise-organisatie-URL.
Plak bij Callback URL de exacte callback-URL die je uit ChatGPT hebt gekopieerd.
Laat Expire user authorization tokens ingeschakeld, tenzij je beveiligingsteam een specifieke reden heeft om dit te wijzigen.
Schakel Request user authorization during installation in, zodat gebruikers de app tijdens de installatie- of verbindingsflow kunnen autoriseren.
Onder Where can this GitHub App be installed?, kies je de smalste optie die bij je uitrol past.
Maak de GitHub App.
Machtigingen en events configureren
Kies de minimale machtigingen die nodig zijn voor de ChatGPT-acties die je wilt inschakelen.
Begin voor alleen-lezen repositorydetectie en Q&A met leesmachtigingen zoals:
Metadata: alleen-lezen. GitHub vereist metadata voor GitHub Apps.
Contents: alleen-lezen, voor toegang tot bestands- en repository-inhoud.
Issues: alleen-lezen, als zoeken naar of lezen van issues nodig is.
Pull requests: alleen-lezen, als zoeken naar pull requests of reviewcontext nodig is.
Actions: alleen-lezen, als status, taken, logboeken of artefacten van workflowruns nodig zijn.
Voeg voor schrijfworkflows alleen schrijfmachtigingen toe waar nodig, zoals Contents, Pull requests, Issues, Actions of Workflows. Gebruik de smalste machtigingen die de beoogde ChatGPT-acties ondersteunen.
Webhook-events moeten overeenkomen met de workflows die je ondersteunt. Veelvoorkomende events zijn Installation, Installation repositories, Push, Pull request, Issues, Issue comment, Workflow run en Workflow job.
GitHub App-referenties genereren en kopiëren
Kopieer in de GitHub App-instellingen de Client ID.
Genereer een Client secret en kopieer dit direct.
Genereer onder Private keys een privésleutel.
Download het .pem-bestand en bewaar het veilig.
Open het .pem-bestand lokaal en kopieer de volledige PEM-tekst, inclusief de begin- en eindregels.
De privésleutel is gevoelig. Behandel deze als een referentie. Als deze is blootgesteld, genereer je een nieuwe privésleutel, werk je de ChatGPT-appconfiguratie bij en verwijder je de gecompromitteerde sleutel in GitHub Enterprise.
Configuratie afronden in ChatGPT
Ga terug naar het tabblad voor de ChatGPT-sjabloonconfiguratie.
Plak de Client ID van de GitHub App in OAuth client ID.
Plak het Client secret van de GitHub App in OAuth client secret.
Laat Scopes ongewijzigd, tenzij je organisatie de standaardwaarden van de sjabloon bewust moet overschrijven.
Bevestig dat de hostnaam van GitHub Enterprise alleen de hostnaam is, zoals
github.example.com.Plak of upload de PEM van de privésleutel van de GitHub App in GitHub App private key.
Bevestig dat het gegenereerde webhookgeheim aanwezig is.
Maak de concept-app.
Open in ChatGPT de details van de gemaakte concept-app en kopieer de gegenereerde webhook-URL.
De webhook-URL moet er zo uitzien: https://connectors.api.openai.org/connectors/<connector_id>/webhook
Webhookconfiguratie afronden in GitHub Enterprise
Ga terug naar de GitHub App-instellingen in GitHub Enterprise.
Open de algemene instellingen van de GitHub App.
Schakel Active webhooks in als deze nog niet zijn ingeschakeld.
Plak de ChatGPT-webhook-URL in Webhook URL.
Plak het ChatGPT-webhookgeheim in Webhook secret.
Laat SSL-verificatie ingeschakeld.
Bevestig dat de geabonneerde webhook-events overeenkomen met de machtigingen en acties die je hebt ingeschakeld.
Sla de wijzigingen op.
De app publiceren en beheren in ChatGPT
Door de concept-app te maken, wordt deze niet automatisch beschikbaar voor leden. Na controle van het concept:
Publiceer de concept-app.
Bevestig dat de app wordt weergegeven in Werkruimte-instellingen > Apps > Ingeschakeld.
Configureer Gebruikerstoegang voor de rollen die de app moeten gebruiken.
Controleer Actiebeheer voor lees- en schrijfacties.
Controleer App-machtigingen om te kiezen wanneer ChatGPT leden om toestemming vraagt voordat de app wordt gebruikt.
Vraag een toegestane testgebruiker Apps in ChatGPT te openen en te bevestigen dat de app verschijnt.
Deze app-machtigingen gelden voor ChatGPT-gesprekken. Werkruimte-agents gebruiken besturingselementen per agent, ingesteld door de bouwer van de agent, om te bepalen welke app-acties beschikbaar zijn en wanneer eindgebruikers wordt gevraagd deze goed te keuren. Zie voor agentgedrag: ChatGPT Workspace Agents voor Enterprise en Business.
De GitHub App installeren en testen
Installeer in GitHub Enterprise de GitHub-app op de organisatie of het account.
Kies alle repositories of geselecteerde repositories volgens het beleid van de werkruimte.
Start de verbindingsflow vanuit ChatGPT als een toegestane gebruiker.
Autoriseer de GitHub-app wanneer hierom wordt gevraagd.
Voer eerst een kleine leesactie uit, zoals het weergeven van toegankelijke repositories of het ophalen van een bekende pull request.
Als schrijfacties zijn ingeschakeld, test je met een repository met laag risico vóór een bredere uitrol.
Hostnaam en OAuth-gedrag
ChatGPT gebruikt de hostnaam om GitHub Enterprise-endpoints af te leiden. Voer alleen de host in, zoals github.example.com of octocorp.ghe.com.
Voer geen API-pad, repositorypad of github.com in, tenzij dat de exacte GitHub Enterprise-host voor deze app is.
Probleemoplossing
Redirect URI mismatch: bevestig dat de callback-URL van de GitHub App exact overeenkomt met de callback-URL die in ChatGPT wordt weergegeven.
ChatGPT kan de concept-app niet maken of opslaan: bevestig dat alle vereiste velden aanwezig zijn, waaronder hostnaam, OAuth client ID, OAuth client secret, privésleutel en webhookgeheim.
Authenticatie slaagt, maar repository-aanroepen mislukken: bevestig dat de GitHub App is geïnstalleerd en toegang heeft tot de repository.
API retourneert 403 of onvoldoende machtigingen: voeg de ontbrekende GitHub App-machtiging toe en laat de installatie-eigenaar bijgewerkte machtigingen goedkeuren als hierom wordt gevraagd.
Er verschijnen geen repositories: bevestig dat de app-installatie de verwachte repositories omvat en dat de gebruiker die in ChatGPT autoriseert toegang tot deze repositories heeft.
Webhookleveringen mislukken: bevestig dat 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 privésleutel: bevestig dat de volledige PEM-inhoud is gekopieerd, inclusief de begin- en eindregels.
