Огляд
Скористайтеся цим посібником, якщо ви адміністратор робочого простору ChatGPT і налаштовуєте шаблон застосунку GitHub Enterprise для своєї організації. Шаблон — це не готовий застосунок, яким користуються учасники. Це процес налаштування, який створює чернетку застосунку для конкретного робочого простору після того, як ви вкажете потрібні параметри GitHub Enterprise.
Під час налаштування GitHub Enterprise ChatGPT підключається до хоста GitHub Enterprise вашої організації. Ви створюєте GitHub App, реєструєте URL-адресу зворотного виклику ChatGPT, генеруєте облікові дані, а потім вставляєте ці значення під час налаштування шаблону в ChatGPT. Коли ChatGPT створить чернетку застосунку, ви зможете опублікувати її та керувати застосунком, як і іншими застосунками робочого простору.
Про навігацію в робочому просторі та доступ до застосунків див. у статті Засоби адміністрування, безпека й відповідність вимогам для плагінів і застосунків.
Що ви налаштовуєте
Ви створюєте застосунок GitHub Enterprise у ChatGPT для конкретного робочого простору. Застосунок використовує:
GitHub App, зареєстрований на вашому хості GitHub Enterprise.
Ідентифікатор і секрет клієнта GitHub App для авторизації користувачів через OAuth.
Приватний ключ GitHub App, щоб ChatGPT міг генерувати токени інсталяції для операцій із репозиторіями.
Секрет і URL-адресу вебхука, щоб GitHub Enterprise міг надсилати до ChatGPT події інсталяцій і репозиторіїв.
Ім’я вашого хоста GitHub Enterprise, наприклад
github.example.com.
Створіть GitHub App, а не окремий GitHub OAuth App. Для налаштування шаблону ChatGPT потрібні облікові дані GitHub App, приватний ключ і параметри вебхука.
Перш ніж почати
Вам знадобляться:
Права адміністратора або власника робочого простору ChatGPT.
Права адміністратора GitHub Enterprise або власника організації, які дають змогу створювати й установлювати GitHub Apps.
Лише ім’я хоста GitHub Enterprise, без
https://або шляху.Рішення щодо того, які дії з репозиторіями має підтримувати ChatGPT: наприклад, пошук репозиторіїв лише для читання, робочі процеси з pull request і задачами, редагування файлів, GitHub Actions або ширші робочі процеси Codex.
Захищене місце для роботи з приватним ключем і секретом клієнта GitHub App.
Тримайте ChatGPT і GitHub Enterprise відкритими в окремих вкладках. Не вигадуйте URL-адресу зворотного виклику. Скопіюйте точну URL-адресу зворотного виклику, показану в ChatGPT.
Значення, які потрібно підготувати
Ім’я хоста GitHub Enterprise: наприклад,
github.example.com.URL-адреса зворотного виклику: скопіюйте її під час налаштування шаблону в ChatGPT.
Ідентифікатор клієнта GitHub App.
Секрет клієнта GitHub App.
Приватний ключ GitHub App у форматі PEM.
Секрет вебхука, згенерований ChatGPT.
URL-адреса вебхука, згенерована після створення чернетки застосунку в ChatGPT.
Почніть налаштування шаблону в ChatGPT
У ChatGPT перейдіть до робочого простору, у якому має бути доступний застосунок.
Відкрийте Налаштування робочого простору > Застосунки. Також можна перейти до Консолі адміністратора, вибрати потрібний робочий простір ChatGPT і відкрити Плагіни. Виберіть Керування застарілими застосунками, щоб відкрити збережену сторінку Застосунки.
Виберіть Каталог.
Знайдіть GitHub Enterprise.
Виберіть шаблон застосунку GitHub Enterprise і почніть налаштування.
Введіть зрозумілі назву й опис застосунку, наприклад GitHub Enterprise або GitHub Enterprise — Розробка.
Введіть ім’я хоста GitHub Enterprise, наприклад
github.example.com.Скопіюйте URL-адресу зворотного виклику, показану в ChatGPT. Залиште цю вкладку відкритою.
Скопіюйте згенерований секрет вебхука, якщо він відображається під час налаштування.
Приклад URL-адреси зворотного виклику: https://chatgpt.com/connector/oauth/<callback_id>
Не видаляйте ідентифікатор зворотного виклику, не додавайте скісну риску в кінці й не замінюйте цю адресу загальною URL-адресою ChatGPT.
Створення застосунку GitHub у GitHub Enterprise
Відкрийте свій сервер GitHub Enterprise, наприклад
https://github.example.com.Перейдіть до організації або облікового запису, якому має належати застосунок.
Відкрийте «Налаштування» > «Налаштування розробника» > «Застосунки GitHub».
Виберіть Новий застосунок GitHub.
Введіть зрозумілу назву застосунку, наприклад ChatGPT GitHub Enterprise.
Введіть URL-адресу головної сторінки. Якщо окремої внутрішньої сторінки немає, використайте URL-адресу організації в GitHub Enterprise.
У поле «URL-адреса зворотного виклику» вставте без змін URL-адресу зворотного виклику, скопійовану з ChatGPT.
Залиште параметр «Обмежувати строк дії токенів авторизації користувачів» увімкненим, якщо ваша команда безпеки не має конкретної причини змінити його.
Увімкніть параметр «Запитувати авторизацію користувача під час встановлення», щоб користувачі могли авторизувати застосунок під час встановлення або підключення.
У розділі «Де можна встановити цей застосунок GitHub?» виберіть варіант із найменшим охопленням, що відповідає вашому плану розгортання.
Створіть застосунок GitHub.
Налаштуйте дозволи й події
Виберіть мінімальні дозволи, потрібні для дій ChatGPT, які ви плануєте ввімкнути.
Для пошуку репозиторіїв і відповідей на запитання без внесення змін почніть із таких дозволів на читання:
Метадані: лише читання. GitHub вимагає доступу до метаданих для GitHub Apps.
Вміст: лише читання — для доступу до вмісту файлів і репозиторіїв.
Задачі: лише читання — якщо потрібно шукати або читати задачі.
Pull requests: лише читання — якщо потрібен пошук pull request або контекст для перевірки коду.
Дії: лише читання — якщо потрібні статус виконання робочого процесу, завдання, журнали або артефакти.
Для робочих процесів із записом додавайте дозволи на запис лише там, де це потрібно, наприклад для вмісту, pull requests, задач, дій або робочих процесів. Використовуйте найобмеженіший набір дозволів, достатній для запланованих дій ChatGPT.
Події вебхуків мають відповідати робочим процесам, які ви підтримуєте. Поширені події: «Інсталяція», «Репозиторії інсталяції», «Надсилання змін», «Pull request», «Задачі», «Коментар до задачі», «Запуск робочого процесу» та «Завдання робочого процесу».
Згенеруйте й скопіюйте облікові дані GitHub App
У налаштуваннях GitHub App скопіюйте Ідентифікатор клієнта.
Згенеруйте Секрет клієнта й одразу скопіюйте його.
У розділі Приватні ключі згенеруйте приватний ключ.
Завантажте файл .pem і збережіть його в захищеному місці.
Відкрийте файл .pem локально й скопіюйте весь текст PEM, включно з початковим і кінцевим рядками.
Приватний ключ є конфіденційним. Поводьтеся з ним як з обліковими даними. Якщо ключ став доступним стороннім, згенеруйте новий приватний ключ, оновіть налаштування застосунку в ChatGPT і видаліть скомпрометований ключ у GitHub Enterprise.
Завершіть налаштування в ChatGPT
Поверніться до вкладки налаштування шаблону в ChatGPT.
Вставте ідентифікатор клієнта GitHub App у поле Ідентифікатор клієнта OAuth.
Вставте секрет клієнта GitHub App у поле Секрет клієнта OAuth.
Залиште Області доступу без змін, якщо вашій організації не потрібно перевизначити стандартні значення шаблону.
Переконайтеся, що в полі імені хоста GitHub Enterprise вказано лише ім’я хоста, наприклад
github.example.com.Вставте або завантажте приватний ключ GitHub App у форматі PEM у поле «Приватний ключ GitHub App».
Переконайтеся, що згенерований секрет вебхука вказано.
Створіть чернетку застосунку.
Відкрийте відомості про створену чернетку застосунку в ChatGPT і скопіюйте згенеровану URL-адресу вебхука.
URL-адреса вебхука має виглядати так: https://connectors.api.openai.org/connectors/<connector_id>/webhook
Завершіть налаштування вебхука в GitHub Enterprise
Поверніться до налаштувань GitHub App у GitHub Enterprise.
Відкрийте загальні налаштування GitHub App.
Увімкніть параметр «Активні вебхуки», якщо його ще не ввімкнено.
Вставте URL-адресу вебхука ChatGPT у поле «URL-адреса вебхука».
Вставте секрет вебхука ChatGPT у поле «Секрет вебхука».
Залиште перевірку SSL увімкненою.
Переконайтеся, що події вебхуків, на які ви підписалися, відповідають увімкненим дозволам і діям.
Збережіть зміни.
Публікація та керування застосунком у ChatGPT
Створення чернетки застосунку не робить його автоматично доступним для учасників. Після перевірки чернетки:
Опублікуйте чернетку застосунку.
У налаштуваннях робочого простору відкрийте сторінку Застосунки, перейдіть до розділу Увімкнені та переконайтеся, що застосунок є в списку. Сторінку «Застосунки» також можна відкрити за допомогою пункту «Керування застарілими застосунками» в розділі «Консоль адміністратора» > «Плагіни».
В Enterprise та Edu у розділі Доступ користувачів виберіть ролі, яким дозволено користуватися застосунком. У Business керуйте доступністю застосунку для всього робочого простору.
Перевірте налаштування в розділі Керування діями для операцій читання й запису.
Перегляньте розділ Дозволи застосунку, щоб вибрати, коли ChatGPT має запитувати згоду учасників перед використанням застосунку.
Попросіть тестового користувача з відповідним доступом відкрити Застосунки в ChatGPT та переконатися, що застосунок відображається.
Ці дозволи застосунку діють у розмовах із ChatGPT. Агенти робочого простору використовують індивідуальні налаштування, задані їхніми розробниками. Ці налаштування визначають, які дії застосунку доступні та коли кінцеві користувачі мають їх схвалювати. Докладніше про поведінку агентів див. у статті Агенти робочого простору ChatGPT для Enterprise та Business.
Установіть і протестуйте GitHub App
У GitHub Enterprise установіть застосунок GitHub для організації або облікового запису.
Виберіть усі або окремі репозиторії відповідно до політики робочого простору.
Почніть підключення з ChatGPT як користувач із відповідним доступом.
Надайте застосунку GitHub дозвіл, коли з’явиться запит.
Спочатку виконайте просту дію читання, наприклад отримайте список доступних репозиторіїв або відомий pull request.
Якщо дії запису ввімкнено, перед ширшим розгортанням протестуйте їх у репозиторії, зміни в якому не становлять значного ризику.
Ім’я хоста та робота OAuth
ChatGPT використовує ім’я хоста для визначення кінцевих точок GitHub Enterprise. Введіть лише ім’я хоста, наприклад github.example.com або octocorp.ghe.com.
Не вводьте шлях API, шлях репозиторію або github.com, якщо саме це не є точним хостом GitHub Enterprise для цього застосунку.
Усунення несправностей
Невідповідність URI перенаправлення: переконайтеся, що URL-адреса зворотного виклику GitHub App точно збігається з адресою, показаною в ChatGPT.
ChatGPT не може створити або зберегти чернетку застосунку: переконайтеся, що заповнено всі обов’язкові поля, зокрема ім’я хоста, Ідентифікатор клієнта OAuth, Секрет клієнта OAuth, приватний ключ і секрет вебхука.
Автентифікація успішна, але запити до репозиторію не виконуються: переконайтеся, що GitHub App установлено й він має доступ до репозиторію.
API повертає код 403 або повідомлення про недостатні дозволи: додайте відсутній дозвіл GitHub App і попросіть власника інсталяції схвалити оновлені дозволи, якщо з’явиться відповідний запит.
Репозиторії не відображаються: переконайтеся, що інсталяція застосунку охоплює потрібні репозиторії, а користувач, який проходить авторизацію в ChatGPT, має до них доступ.
Не вдається доставити вебхуки: переконайтеся, що URL-адреса й секрет вебхука збігаються зі значеннями з ChatGPT, залиште перевірку SSL увімкненою та перевірте, чи має хост GitHub Enterprise доступ до
connectors.api.openai.org.Помилки приватного ключа: переконайтеся, що скопійовано весь вміст PEM, включно з початковим і кінцевим рядками.
