Інтеграція GitLab із ChatGPT і Codex наразі перебуває на етапі бета-тестування.
Огляд
Скористайтеся шаблоном застосунку GitLab Self-Managed, щоб створити чернетку застосунку для конкретного робочого простору й екземпляра GitLab Self-Managed або GitLab Dedicated. Укажіть ім’я хоста GitLab та облікові дані застосунку OAuth, перевірте чернетку застосунку й опублікуйте його для учасників робочого простору з відповідними правами доступу. Після публікації ввімкнені дії застосунку стануть доступними в розмовах ChatGPT і сеансах Codex.
Огляд підтримуваних функцій GitLab, доступності, дозволів, використання даних і вимог до мережі наведено в статті «Підключення GitLab до ChatGPT і Codex».
Що ви налаштовуєте
Ви створюєте застосунок для конкретного робочого простору на основі шаблону GitLab Self-Managed. Застосунок використовує:
Застосунок OAuth для GitLab, зареєстрований на вашому хості GitLab Self-Managed або GitLab Dedicated.
Ідентифікатор застосунку та секрет OAuth із GitLab для авторизації користувачів.
Необхідні області доступу OAuth: api, write_repository та openid.
Ім’я вашого хоста GitLab, наприклад gitlab.example.com, для визначення кінцевих точок вебдоступу, API, авторизації та отримання токенів.
Перш ніж почати
Вам знадобляться:
Права адміністратора або власника робочого простору ChatGPT.
Дозвіл GitLab на створення застосунку OAuth: права власника групи для застосунку, що належить групі, або права адміністратора екземпляра для застосунку на рівні всього екземпляра.
Лише ім’я хоста GitLab, без https://, порту чи шляху. Використовуйте хост GitLab Self-Managed або GitLab Dedicated, а не gitlab.com.
Рішення про те, які дії GitLab мають підтримувати ChatGPT і Codex: наприклад, пошук у репозиторіях, роботу із запитами на злиття й завданнями, редагування файлів або ширші робочі процеси Codex.
Тримайте ChatGPT і GitLab відкритими в окремих вкладках. Скопіюйте точний URI переспрямування, показаний у ChatGPT; не створюйте й не змінюйте його.
Щоб відкрити сторінку Застосунки з консолі адміністратора, виберіть потрібний робочий простір ChatGPT, відкрийте розділ Плагіни й виберіть Керування застарілими застосунками.
Дані, які потрібно підготувати
Ім’я хоста GitLab: наприклад, gitlab.example.com.
URI переспрямування: скопіюйте його під час налаштування шаблону в ChatGPT.
Ідентифікатор застосунку OAuth у GitLab.
Секрет OAuth у GitLab.
Області доступу OAuth: скопіюйте їх під час налаштування шаблону в ChatGPT.
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Apps.
In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.
Enter a clear app name and description.
Enter the GitLab hostname, such as gitlab.example.com.
Copy the Redirect URI shown in ChatGPT, and keep this tab open.
Example: https://chatgpt.com/connector/oauth/<redirect_id>. Do not remove the redirect ID, add a trailing slash, or replace the URI with a generic ChatGPT URL.
Створіть застосунок OAuth для GitLab у GitLab
Виберіть, де створити застосунок
Відкрийте свій хост GitLab, наприклад https://gitlab.example.com.
Виберіть, чи створювати застосунок для всього екземпляра, чи застосунок, що належить групі. Цей вибір визначає, хто керуватиме застосунком. Доступ до проєктів і надалі залежатиме від дозволів користувача GitLab, який надає авторизацію, та наданих областей доступу OAuth.
Щоб створити застосунок для всього екземпляра, перейдіть до розділу Адміністрування > Застосунки. Щоб створити застосунок, що належить групі, перейдіть до розділу Налаштування > Застосунки цієї групи.
Додайте відомості про застосунок
Виберіть Новий застосунок або Додати новий застосунок.
Введіть зрозумілу назву застосунку, наприклад GitLab Self-Managed або GitLab Dedicated.
У поле URI переспрямування вставте точний URI, скопійований із ChatGPT.
Залиште параметр Конфіденційний увімкненим для цього серверного застосунку OAuth.
Налаштуйте доступ і збережіть застосунок
Для застосунку на рівні всього екземпляра GitLab рекомендує вибрати параметр Довірений. Тоді користувачеві не показуватиметься запит на авторизацію.
Виберіть області доступу api, write_repository та openid.
Перевірте, хто може керувати застосунком, і переконайтеся, що користувачі GitLab, які надають авторизацію, мають відповідні дозволи для груп і проєктів.
Збережіть застосунок.
Вимоги до областей доступу OAuth
Шаблон запитує такі області доступу OAuth для ввімкнених дій GitLab у ChatGPT і Codex:
api: потрібна для операцій API GitLab, доступних через застосунок, зокрема дій із запитами на злиття, завданнями та CI/CD.
write_repository: потрібна для операцій запису в репозиторій через Git.
openid: потрібна для отримання ідентифікаційних даних та інформації про членство через OpenID Connect.
Скопіюйте облікові дані OAuth із GitLab
У збереженому застосунку GitLab скопіюйте ідентифікатор застосунку та секрет. Захищайте секрет як облікові дані. Якщо його буде розголошено, оновіть його в GitLab і створіть новий застосунок для робочого простору.
Завершіть налаштування в ChatGPT
Поверніться на вкладку налаштування шаблону в ChatGPT.
Вставте ідентифікатор застосунку з GitLab у поле Ідентифікатор клієнта OAuth.
Вставте секрет із GitLab у поле Секрет клієнта OAuth.
Переконайтеся, що поле імені хоста GitLab містить лише ім’я хоста, наприклад gitlab.example.com.
Виберіть Створити чернетку.
Відкрийте відомості про чернетку застосунку й перевірте розділи «Доступ за ролями» та «Налаштування дій».
Опублікуйте застосунок для ChatGPT і Codex та керуйте ним
Створення чернетки застосунку не робить його автоматично доступним для учасників. Після перевірки чернетки:
Виберіть Опублікувати для чернетки застосунку.
Перейдіть до консолі адміністратора, виберіть потрібний робочий простір ChatGPT, відкрийте розділ Плагіни й переконайтеся, що GitLab доступний для потрібних ролей.
Перевірте Доступ за ролями для ролей, які мають користуватися застосунком.
У розділі Налаштування дій перегляньте доступні дії читання та запису.
У розділі Налаштування підтверджень виберіть, коли користувачі мають підтверджувати дію, перш ніж ChatGPT або Codex скористається застосунком.
Попросіть користувача, який має доступ і бере участь у тестуванні, відкрити GitLab у каталозі плагінів або в розділі Налаштування > Плагіни. Переконайтеся, що користувач може встановити плагін і підключитися до застосунку, створеного з шаблону GitLab Self-Managed.
Ці налаштування підтверджень для застосунку діють у розмовах ChatGPT і гілках Codex.
Налаштуйте активність GitLab для перевірки коду в Codex
Після публікації застосунку налаштуйте активність GitLab у Codex, якщо плануєте використовувати перевірку коду в Codex. Під час цього налаштування активності задаються необхідні події вебхуків.
Відкрийте налаштування конекторів Codex.
Налаштуйте службовий обліковий запис робочого простору. Дозвольте Codex створити обліковий запис або надайте особистий токен доступу для наявного службового облікового запису.
Увімкніть Активність GitLab для проєкту або однієї з його батьківських груп.
Якщо Codex потрібно виконувати завдання з програмування або використовувати налаштування конкретного проєкту, створіть середовище проєкту.
Застосунок GitLab використовує авторизацію користувача через OAuth для читання даних і виконання ввімкнених дій у ChatGPT і Codex. Для операцій запису під час перевірки коду в Codex на GitLab Self-Managed або GitLab Dedicated токен службового облікового запису, яким керує робочий простір, визначає, від чийого імені та в яких проєктах Codex може залишати коментарі чи реакції.
Докладніше: Перевірка запитів на злиття GitLab за допомогою Codex.
Підключіть і протестуйте застосунок GitLab
Увійшовши як користувач із доступом, відкрийте GitLab у каталозі плагінів або в розділі Налаштування > Плагіни. Виберіть Встановити плагін, а потім — Підключити.
Якщо у вашому робочому просторі кілька застосунків GitLab, виберіть застосунок для цього хоста GitLab Self-Managed або GitLab Dedicated.
Коли з’явиться відповідний запит, авторизуйте застосунок OAuth для GitLab.
Спочатку виконайте просту дію читання в ChatGPT або Codex, наприклад отримайте список доступних проєктів або відомий запит на злиття.
Якщо ввімкнено дії запису, перед ширшим впровадженням протестуйте їх у проєкті з низьким рівнем ризику та в кожному продукті, де плануєте їх використовувати.
Ім’я хоста та робота OAuth
Застосунок використовує ім’я хоста для визначення кінцевих точок GitLab. Введіть лише ім’я хоста, наприклад gitlab.example.com. Не додавайте https://, шлях до API чи репозиторію, порт або gitlab.com. Цей шаблон призначений для GitLab Self-Managed або GitLab Dedicated. Для GitLab.com (SaaS) використовуйте застосунок GitLab.
Усунення проблем із налаштуванням застосунку GitLab Self-Managed
Невідповідність URI переспрямування: переконайтеся, що URI переспрямування застосунку OAuth у GitLab точно збігається з URI переспрямування, показаним у ChatGPT.
ChatGPT не може створити або зберегти чернетку застосунку: переконайтеся, що вказано ім’я хоста, ідентифікатор застосунку, секрет і URI переспрямування.
Автентифікація успішна, але виклики до проєкту завершуються помилкою: переконайтеся, що користувач GitLab, який надає авторизацію, має доступ до проєкту, а застосунок OAuth має області доступу, зазначені в шаблоні.
API повертає код 403 або повідомляє про недостатні дозволи: переконайтеся, що підключений обліковий запис GitLab має потрібні дозволи для проєкту або групи, а застосунок OAuth — необхідні області доступу, зазначені в шаблоні.
Немає доступних проєктів: переконайтеся, що користувач має доступ до проєктів, підключений до потрібного екземпляра GitLab і вибрав правильний застосунок GitLab у ChatGPT або Codex.
