Översikt
Använd den här guiden om du är administratör för en ChatGPT-arbetsyta och konfigurerar GitHubs Enterprise-appmall för din organisation. En mall är inte den slutliga app som medlemmarna använder. Det är ett konfigurationsflöde som skapar en arbetsytespecifik utkastapp efter att du har angett den nödvändiga GitHub Enterprise-konfigurationen.
För GitHub Enterprise ansluter konfigurationen ChatGPT till organisationens GitHub Enterprise-värd. Du skapar en GitHub App, registrerar ChatGPT:s callback-URL, genererar autentiseringsuppgifter och klistrar sedan in dessa värden i konfigurationsflödet för ChatGPT-mallen. När ChatGPT har skapat utkastappen kan du publicera och hantera den som andra arbetsyteappar.
Det du konfigurerar
Du skapar en arbetsytespecifik GitHub Enterprise-app i ChatGPT. Appen använder:
En GitHub App som är registrerad på din GitHub Enterprise-värd.
GitHub App-klient-ID och klienthemlighet för användarauktorisering med OAuth.
Den privata nyckeln för GitHub App så att ChatGPT kan utfärda installationstoken för förvarsåtgärder.
En webhook-hemlighet och webhook-URL så att GitHub Enterprise kan skicka installations- och förvarshändelser tillbaka till ChatGPT.
Ditt GitHub Enterprise-värdnamn, till exempel
github.example.com.
Skapa en GitHub App, inte en fristående GitHub OAuth-app. ChatGPT-mallkonfigurationen kräver autentiseringsuppgifter för GitHub App, en privat nyckel och webhook-inställningar.
Innan du börjar
Du behöver:
Administratörs- eller ägaråtkomst till ChatGPT-arbetsytan.
Administratörs- eller organisationsägaråtkomst i GitHub Enterprise som kan skapa och installera GitHub Apps.
Endast värdnamnet för GitHub Enterprise, utan
https://eller sökväg.Ett beslut om vilka förvarsåtgärder ChatGPT ska stödja, till exempel skrivskyddad förvarssökning, arbetsflöden för pull-begäranden, ärendearbetsflöden, filredigeringar, GitHub Actions eller bredare Codex-arbetsflöden.
En säker plats för att hantera den privata nyckeln och klienthemligheten för GitHub App.
Håll ChatGPT och GitHub Enterprise öppna i separata flikar. Hitta inte på callback-URL:en. Kopiera den exakta callback-URL som visas i ChatGPT.
Värden att förbereda
GitHub Enterprise-värdnamn: till exempel
github.example.com.Callback-URL: kopiera den från konfigurationsflödet för ChatGPT-mallen.
GitHub App-klient-ID.
GitHub App-klienthemlighet.
Privat GitHub App-nyckel i PEM-format.
Webhook-hemlighet som genereras av ChatGPT.
Webhook-URL som genereras efter att utkastappen har skapats i ChatGPT.
Starta mallkonfigurationen i ChatGPT
I ChatGPT växlar du till arbetsytan där appen ska vara tillgänglig.
Öppna Arbetsytans inställningar > Appar.
Välj Katalog.
Sök efter GitHub Enterprise.
Välj appmallen GitHub Enterprise och starta konfigurationen.
Ange ett tydligt appnamn och en beskrivning, till exempel GitHub Enterprise eller GitHub Enterprise – Engineering.
Ange värdnamnet för GitHub Enterprise, till exempel
github.example.com.Kopiera den callback-URL som visas i ChatGPT. Håll den här fliken öppen.
Kopiera den genererade webhook-hemligheten om den visas under konfigurationen.
Exempel på callback-URL: https://chatgpt.com/connector/oauth/<callback_id>
Ta inte bort callback-ID:t, lägg inte till ett avslutande snedstreck och ersätt den inte med en allmän ChatGPT-URL.
Skapa GitHub App i GitHub Enterprise
Öppna din GitHub Enterprise-värd, till exempel
https://github.example.com.Gå till organisationen eller kontot som ska äga appen.
Öppna Inställningar > Utvecklarinställningar > GitHub Apps.
Välj Ny GitHub App.
Ange ett tydligt appnamn, till exempel ChatGPT GitHub Enterprise Connector.
Ange en URL till startsidan. Om det inte finns någon särskild intern sida använder du GitHub Enterprise-organisationens URL.
Klistra in den exakta callback-URL som kopierades från ChatGPT i Callback URL.
Låt Upphörande av användarauktoriseringstoken vara aktiverat om inte säkerhetsteamet har ett särskilt skäl att ändra det.
Aktivera Begär användarauktorisering under installation så att användare kan auktorisera appen under installations- eller anslutningsflödet.
Under Var kan denna GitHub App installeras?, väljer du det smalaste alternativet som passar din lansering.
Skapa GitHub App.
Konfigurera behörigheter och händelser
Välj de minsta behörigheter som krävs för de ChatGPT-åtgärder du planerar att aktivera.
För skrivskyddad identifiering av förvar och frågor och svar börjar du med läsbehörigheter som:
Metadata: skrivskyddad. GitHub kräver metadata för GitHub Apps.
Innehåll: skrivskyddad, för åtkomst till filer och förvarsinnehåll.
Ärenden: skrivskyddad, om ärendesökning eller ärendeläsning behövs.
Pull-begäranden: skrivskyddad, om sökning efter pull-begäranden eller granskningskontext behövs.
Åtgärder: skrivskyddad, om status för arbetsflödeskörningar, jobb, loggar eller artefakter behövs.
För skrivarbetsflöden lägger du bara till skrivbehörigheter där det behövs, till exempel Innehåll, Pull-begäranden, Ärenden, Åtgärder eller Arbetsflöden. Använd de smalaste behörigheter som stöder de avsedda ChatGPT-åtgärderna.
Webhook-händelser ska matcha de arbetsflöden du stöder. Vanliga händelser är Installation, Installation repositories, Push, Pull request, Issues, Issue comment, Workflow run och Workflow job.
Generera och kopiera autentiseringsuppgifter för GitHub App
Kopiera Client ID i inställningarna för GitHub App.
Generera en Client secret och kopiera den direkt.
Generera en privat nyckel under Privata nycklar.
Ladda ned .pem-filen och lagra den säkert.
Öppna .pem-filen lokalt och kopiera hela PEM-texten, inklusive start- och slutraderna.
Den privata nyckeln är känslig. Behandla den som en autentiseringsuppgift. Om den exponeras genererar du en ny privat nyckel, uppdaterar appkonfigurationen i ChatGPT och tar bort den komprometterade nyckeln i GitHub Enterprise.
Slutför konfigurationen i ChatGPT
Gå tillbaka till fliken för ChatGPT-mallkonfigurationen.
Klistra in GitHub App Client ID i OAuth client ID.
Klistra in GitHub App Client secret i OAuth client secret.
Lämna Omfattningar oförändrade om inte din organisation avsiktligt behöver åsidosätta mallens standardvärden.
Bekräfta att värdnamnet för GitHub Enterprise endast består av värdnamnet, till exempel
github.example.com.Klistra in eller ladda upp den privata GitHub App-nyckeln i PEM-format i GitHub App private key.
Bekräfta att den genererade webhook-hemligheten finns.
Skapa utkastappen.
Öppna informationen om den skapade utkastappen i ChatGPT och kopiera den genererade webhook-URL:en.
Webhook-URL:en bör se ut så här: https://connectors.api.openai.org/connectors/<connector_id>/webhook
Slutför webhook-konfigurationen i GitHub Enterprise
Gå tillbaka till inställningarna för GitHub App i GitHub Enterprise.
Öppna allmänna inställningar för GitHub App.
Aktivera Active webhooks om de inte redan är aktiverade.
Klistra in ChatGPT-webhook-URL:en i Webhook URL.
Klistra in ChatGPT-webhook-hemligheten i Webhook secret.
Låt SSL-verifiering vara aktiverad.
Bekräfta att de prenumererade webhook-händelserna matchar behörigheterna och åtgärderna du aktiverade.
Spara ändringarna.
Publicera och hantera appen i ChatGPT
Att skapa utkastappen gör den inte automatiskt tillgänglig för medlemmar. Efter granskning av utkastet:
Publicera utkastappen.
Bekräfta att appen visas i Arbetsytans inställningar > Appar > Aktiverade.
Konfigurera Användaråtkomst för de roller som ska använda den.
Granska Åtgärdskontroll för läs- och skrivåtgärder.
Granska Appbehörigheter för att välja när ChatGPT ska fråga medlemmar innan appen används.
Be en tillåten testanvändare att öppna Appar i ChatGPT och bekräfta att appen visas.
Dessa appbehörigheter gäller för ChatGPT-konversationer. Arbetsyteagenter använder kontroller per Agent som anges av Agentens byggare för att avgöra vilka appåtgärder som är tillgängliga och när slutanvändare ombeds att godkänna dem. För Agent-beteende, se: ChatGPT-arbetsyteagenter för Enterprise och Business.
Installera och testa GitHub App
Installera GitHub-appen på organisationen eller kontot i GitHub Enterprise.
Välj alla förvar eller utvalda förvar enligt arbetsytans policy.
Starta anslutningsflödet från ChatGPT som en tillåten användare.
Auktorisera GitHub-appen när du uppmanas.
Kör först en liten läsåtgärd, till exempel att lista tillgängliga förvar eller hämta en känd pull-begäran.
Om skrivåtgärder är aktiverade testar du med ett lågriskförvar innan en bredare lansering.
Värdnamn och OAuth-beteende
ChatGPT använder värdnamnet för att härleda GitHub Enterprise-slutpunkter. Ange endast värden, till exempel github.example.com eller octocorp.ghe.com.
Ange inte en API-sökväg, en förvarssökväg eller github.com om inte det är den exakta GitHub Enterprise-värden för den här appen.
Felsökning
Redirect URI mismatch: bekräfta att callback-URL:en för GitHub App exakt matchar den callback-URL som visas i ChatGPT.
ChatGPT kan inte skapa eller spara utkastappen: bekräfta att alla obligatoriska fält finns, inklusive värdnamn, OAuth client ID, OAuth client secret, privat nyckel och webhook-hemlighet.
Autentiseringen lyckas men förvarsanrop misslyckas: bekräfta att GitHub App är installerad och har åtkomst till förvaret.
API:et returnerar 403 eller otillräckliga behörigheter: lägg till den saknade GitHub App-behörigheten och låt installationsägaren godkänna uppdaterade behörigheter om du uppmanas.
Inga förvar visas: bekräfta att appinstallationen omfattar de förväntade förvaren och att användaren som auktoriserar i ChatGPT har åtkomst till dem.
Webhook-leveranser misslyckas: bekräfta att webhook-URL:en och webhook-hemligheten matchar värdena från ChatGPT, låt SSL-verifiering vara aktiverad och se till att GitHub Enterprise-värden kan nå
connectors.api.openai.org.Fel med privat nyckel: bekräfta att hela PEM-innehållet kopierades, inklusive start- och slutraderna.
