OpenAI
Эта страница была переведена машинным переводом. Открыть оригинальную статью на английском.

Настройка шаблона приложения GitLab Self-Managed для ChatGPT и Codex

Узнайте, как администраторы рабочей области могут настроить шаблон приложения GitLab Self-Managed для экземпляра GitLab Self-Managed или GitLab Dedicated с помощью приложения GitLab OAuth своей организации.

Обновлено: 28 days ago

Интеграция GitLab с ChatGPT и Codex сейчас находится на этапе бета-тестирования.

Обзор

Используйте шаблон приложения GitLab Self-Managed, чтобы создать для конкретной рабочей области черновик приложения, подключённого к экземпляру GitLab Self-Managed или GitLab Dedicated. Укажите имя хоста GitLab и учётные данные приложения OAuth, проверьте черновик приложения, а затем опубликуйте его для пользователей рабочей области с соответствующим доступом. После публикации доступные действия приложения можно использовать в беседах ChatGPT и сеансах Codex.

Обзор поддерживаемых возможностей GitLab, доступности, разрешений, использования данных и требований к сети см. в статье «Подключение GitLab к ChatGPT и Codex».

Что вы настраиваете

Вы создаёте приложение для конкретной рабочей области на основе шаблона GitLab Self-Managed. Приложение использует:

  • Приложение GitLab OAuth, зарегистрированное на вашем хосте GitLab Self-Managed или GitLab Dedicated.

  • Идентификатор приложения и секрет GitLab OAuth для авторизации пользователей.

  • Обязательные области доступа 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. Не создавайте и не изменяйте его.

Данные, которые нужно подготовить

  • Имя хоста GitLab: например, gitlab.example.com.

  • URI перенаправления: скопируйте его на этапе настройки шаблона в ChatGPT.

  • Идентификатор приложения GitLab OAuth.

  • Секрет GitLab OAuth.

  • Области доступа OAuth: скопируйте их на этапе настройки шаблона в ChatGPT.

Start the template setup in ChatGPT

  1. In ChatGPT, switch to the workspace where the app should be available.

  2. Go to Workspace settings > Plugins.

  3. In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.

  4. Enter a clear app name and description.

  5. Enter the GitLab hostname, such as gitlab.example.com.

  6. 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.

Создание приложения GitLab OAuth в GitLab

Выберите, где создать приложение

  1. Откройте свой хост GitLab, например https://gitlab.example.com.

  2. Выберите, где создать приложение: во всём экземпляре или в отдельной группе. Этот выбор определяет, кто управляет приложением. Доступ к проектам по-прежнему зависит от разрешений авторизующегося пользователя GitLab и предоставленных областей доступа OAuth.

  3. Чтобы создать приложение для всего экземпляра, выберите Администрирование > Приложения. Чтобы создать приложение для группы, откройте в ней Настройки > Приложения.

Добавьте сведения о приложении

  1. Выберите Новое приложение или Добавить новое приложение.

  2. Введите понятное название приложения, например GitLab Self-Managed или GitLab Dedicated.

  3. В поле URI перенаправления вставьте точный URI, скопированный из ChatGPT.

  4. Для этого серверного приложения OAuth оставьте параметр Конфиденциальное включённым.

Настройте доступ и сохраните приложение

  1. Для приложения, доступного во всём экземпляре, GitLab рекомендует выбрать Доверенное. В этом случае запрос на авторизацию пользователя не отображается.

  2. Выберите области доступа api, write_repository и openid.

  3. Проверьте, кто может управлять приложением, и убедитесь, что у авторизующихся пользователей GitLab есть необходимые разрешения для групп и проектов.

  4. Сохраните приложение.

Требования к областям доступа OAuth

Для включённых действий GitLab в ChatGPT и Codex шаблон запрашивает следующие области доступа OAuth:

  • api: требуется для доступных через приложение операций GitLab API, включая действия с запросами на слияние, проблемами и CI/CD.

  • write_repository: требуется для операций записи в репозиторий через Git.

  • openid: требуется для получения удостоверения OpenID Connect и сведений об участии.

Скопируйте учётные данные GitLab OAuth

В сохранённом приложении GitLab скопируйте идентификатор приложения и секрет. Обращайтесь с секретом как с учётными данными. Если секрет раскрыт, обновите его в GitLab и создайте новое приложение рабочей области.

Завершение настройки в ChatGPT

  1. Вернитесь на вкладку настройки шаблона в ChatGPT.

  2. Вставьте идентификатор приложения GitLab в поле Идентификатор клиента OAuth.

  3. Вставьте секрет GitLab в поле Секрет клиента OAuth.

  4. Убедитесь, что в поле имени хоста GitLab указано только имя хоста, например gitlab.example.com.

  5. Выберите Создать черновик.

  6. Откройте сведения о черновике приложения и проверьте разделы «Доступ для ролей» и «Настройка действий».

Публикация приложения и управление им для ChatGPT и Codex

После создания черновика приложение не становится автоматически доступным участникам. После проверки черновика:

  1. Выберите для черновика приложения Опубликовать.

  2. Откройте Настройки рабочей области > Плагины и убедитесь, что GitLab доступен нужным ролям.

  3. Проверьте доступ для ролей, которые должны использовать приложение.

  4. В разделе Настройка действий проверьте доступные действия чтения и записи.

  5. В разделе Настройка подтверждений выберите, когда пользователи должны подтверждать действие перед тем, как ChatGPT или Codex выполнит его через приложение.

  6. Попросите тестового пользователя с доступом открыть GitLab через Каталог плагинов или меню Настройки > Плагины. Убедитесь, что пользователь может установить плагин и подключиться к приложению, созданному на основе шаблона GitLab Self-Managed.

Эти настройки подтверждения действий приложения применяются к беседам ChatGPT и веткам Codex.

Настройка активности GitLab для проверки кода в Codex

Если вы планируете проверять код с помощью Codex, после публикации приложения настройте активность GitLab в Codex. При этой настройке создаются необходимые события веб-перехватчика.

  1. Откройте настройки коннекторов Codex.

  2. Настройте сервисную учётную запись рабочей области. Разрешите Codex создать учётную запись либо укажите персональный токен доступа существующей сервисной учётной записи.

  3. Включите активность GitLab для проекта или одной из его родительских групп.

  4. Если Codex должен выполнять задачи по программированию или использовать настройки конкретного проекта, создайте среду проекта.

Для чтения и выполнения включённых действий в ChatGPT и Codex приложение GitLab использует пользовательскую авторизацию OAuth. Для операций записи при проверке кода Codex в GitLab Self-Managed или GitLab Dedicated токен сервисной учётной записи, управляемый рабочей областью, определяет удостоверение и проекты, в которых Codex может оставлять комментарии или реакции.

Подробнее: «Проверка запросов на слияние GitLab с помощью Codex».

Подключение и проверка приложения GitLab

  1. Если у вас есть доступ, откройте GitLab через Каталог плагинов или меню Настройки > Плагины. Выберите Установить плагин, а затем — Подключить.

  2. Если в рабочей области несколько приложений GitLab, выберите приложение для этого хоста GitLab Self-Managed или GitLab Dedicated.

  3. При появлении запроса авторизуйте приложение GitLab OAuth.

  4. Сначала выполните небольшое действие чтения в ChatGPT или Codex, например получите список доступных проектов или известный запрос на слияние.

  5. Если действия записи включены, перед широким внедрением проверьте их в проекте с низким уровнем риска и в каждом продукте, где планируете их использовать.

Имя хоста и работа OAuth

Приложение определяет конечные точки GitLab по имени хоста. Введите только имя хоста, например gitlab.example.com. Не указывайте https://, путь к API или репозиторию, порт либо gitlab.com. Этот шаблон предназначен для GitLab Self-Managed и GitLab Dedicated. Для GitLab.com (SaaS) используйте приложение GitLab.

Устранение неполадок при настройке приложения GitLab Self-Managed

  • Несовпадение URI перенаправления: убедитесь, что URI перенаправления в приложении GitLab OAuth в точности совпадает с URI перенаправления, указанным в ChatGPT.

  • ChatGPT не удаётся создать или сохранить черновик приложения: убедитесь, что указаны имя хоста, идентификатор приложения, секрет и URI перенаправления.

  • Аутентификация проходит успешно, но обращения к проекту завершаются ошибкой: убедитесь, что авторизующийся пользователь GitLab имеет доступ к проекту, а приложению OAuth предоставлены области доступа из шаблона.

  • API возвращает ошибку 403 или сообщает о недостаточных разрешениях: убедитесь, что у подключённой учётной записи GitLab есть необходимые разрешения для проекта или группы, а приложение OAuth включает требуемые области доступа из шаблона.

  • Нет доступных проектов: убедитесь, что у пользователя есть доступ к проекту, он подключён к нужному экземпляру GitLab и выбрал правильное приложение GitLab в ChatGPT или Codex.

Связанная документация GitLab

Была ли эта статья полезной?