Интеграция GitLab с ChatGPT и Codex сейчас находится на этапе бета-тестирования.
Обзор
Плагин GitLab позволяет ChatGPT и Codex получать актуальные данные из GitLab и, если разрешено, выполнять действия в проектах, доступных подключённому пользователю. Он работает с проектами, группами, файлами репозитория, ветками, коммитами, запросами на слияние, задачами, конвейерами, заданиями и связанными обсуждениями.
Плагин GitLab включает приложение GitLab для GitLab.com и шаблон приложения GitLab Self-Managed. Плагин — это пакет, который устанавливают пользователи, а приложение — подключение, предоставляющее доступ к данным и действиям GitLab.
Для GitLab Self-Managed или GitLab Dedicated администратор рабочей области должен создать на основе шаблона и опубликовать приложение для этой рабочей области, прежде чем участники смогут подключиться. Подробнее о шаблонах приложений и о настройке шаблона приложения GitLab.
Прежнее приложение GitLab Issues с индивидуальной синхронизацией больше недоступно. Чтобы подключить текущее приложение GitLab, следуйте инструкциям по настройке в этой статье. Приложение получает данные через API-запросы, связанные с вашим промптом.
Доступность
Доступность зависит от тарифного плана и конфигурации рабочей области. Администраторы рабочей области настраивают плагин GitLab в ChatGPT и определяют, доступен ли он, кто может им пользоваться, какие действия включены и когда требуется одобрение.
Возможности плагина GitLab
Чтение данных из GitLab
ChatGPT и Codex могут:
Изучать проекты и группы.
Просматривать деревья репозиториев и читать файлы.
Сравнивать ветки, коммиты и различия.
Просматривать запросы на слияние, подтверждения, задачи, заметки и обсуждения.
Проверять конвейеры, задания, журналы и отчеты о тестировании.
Выполнение действий в GitLab
В зависимости от настроек рабочей области и разрешений GitLab ChatGPT и Codex могут:
Создавать ветки и коммиты.
Создавать, обновлять и удалять файлы репозитория.
Создавать и обновлять запросы на слияние и задачи.
Добавлять заметки и обсуждения.
Одобрять запросы на слияние, перебазировать их или выполнять слияние.
Применять предложения.
Создавать конвейеры, а также запускать и повторно выполнять задания и конвейеры.
Доступные действия зависят от параметров рабочей области Доступ для ролей, Настроить действия и Настроить подтверждения, а также от предоставленных областей доступа OAuth и разрешений GitLab подключенного пользователя.
Настройка GitLab в ChatGPT
Подключение к GitLab.com
Откройте ChatGPT.
Откройте Каталог плагинов.
Найдите GitLab.
Выберите Установить плагин.
На странице GitLab выберите Подключить.
При появлении запроса авторизуйте ChatGPT в GitLab. Плагин GitLab действует от имени вашего пользователя GitLab в рамках предоставленных областей доступа OAuth, поэтому ChatGPT и Codex могут обращаться только к тем проектам и группам GitLab, к которым у вас есть доступ.
После подключения используйте GitLab в ChatGPT или Codex, чтобы изучить проект, файл, запрос на слияние, задачу или конвейер либо запросить разрешенное действие.
Справку по установке плагинов и управлению ими см. в статье «Плагины в ChatGPT и Codex».
Подключение к GitLab Self-Managed или GitLab Dedicated
Прежде чем пользователи смогут подключиться, администратор рабочей области должен настроить и опубликовать шаблон приложения GitLab Self-Managed. Инструкции см. в статье «Настройка шаблона приложения GitLab Self-Managed для ChatGPT и Codex».
Отключение GitLab
Откройте ChatGPT.
Перейдите в раздел Настройки > Плагины.
Откройте GitLab.
Выберите Удалить.
Данные и конфиденциальность
Как ChatGPT и Codex работают с GitLab
ChatGPT и Codex используют плагин GitLab для выполнения связанных с вашим промптом запросов к API. Например, они могут вывести дерево репозитория, получить определенный файл, прочитать различия или обсуждение в запросе на слияние, изучить задачу либо проверить конвейер и журнал задания. Если включенное действие может изменить данные в GitLab, ChatGPT или Codex выполнят его только при условии, что это разрешено настройками рабочей области, получены необходимые подтверждения и у подключенного пользователя есть соответствующие разрешения GitLab.
Обучение моделей и содержимое GitLab
По умолчанию содержимое, отправляемое клиентами коммерческих продуктов, включая ChatGPT Business, Enterprise, Edu и API, не используется для улучшения наших моделей. Подробнее о том, как OpenAI использует корпоративные данные, см. на странице «Конфиденциальность корпоративных данных».
Если вы используете индивидуальную подписку, OpenAI может использовать ваше содержимое для обучения своих моделей, когда включена настройка Улучшать модель для всех. Подробнее о хранении и использовании ваших данных см. в разделе «Часто задаваемые вопросы об управлении данными».
К содержимому GitLab применяются одинаковые настройки данных рабочей области независимо от того, используете ли вы приложение в ChatGPT или Codex.
Часто задаваемые вопросы
Какие данные может считывать плагин GitLab?
Он может получать доступные подключённому пользователю данные GitLab, включая проекты и группы; деревья репозиториев, файлы, ветки, коммиты и различия между версиями; запросы на слияние, задачи, заметки и обсуждения; а также конвейеры CI/CD, задания, журналы и отчёты о тестировании. Конкретные возможности зависят от включённых действий и разрешений GitLab.
Могут ли ChatGPT и Codex выполнять действия в GitLab?
Да, если администраторы рабочей области включили соответствующие действия и получено необходимое одобрение. В зависимости от конфигурации и ваших разрешений в GitLab ChatGPT и Codex могут создавать ветки и коммиты; создавать, обновлять и удалять файлы репозитория; создавать и обновлять запросы на слияние и задачи; добавлять заметки и обсуждения; одобрять и объединять запросы на слияние; применять предложения; а также создавать конвейеры, запускать задания и конвейеры вручную или повторно.
Как администраторы могут ограничить возможности плагина?
В ChatGPT администраторы рабочей области могут управлять доступом к приложению с помощью параметра Доступ для ролей, включать и отключать действия в разделе Настройка действий и требовать подтверждения выбранных действий в разделе Настройка одобрений. Разрешения для проектов и групп, заданные в GitLab, продолжают действовать.
Могут ли ChatGPT или Codex прочитать определённый файл или различия в запросе на слияние?
Да. Укажите проект и имя файла или путь, ветку или ссылку, URL-адрес либо внутренний идентификатор (IID) запроса на слияние или опишите нужное поведение кода. ChatGPT или Codex могут получить нужный файл, дерево репозитория, коммит, различия между версиями или сведения о запросе на слияние, если соответствующее действие плагина включено и у вас есть доступ.
Почему я не вижу проект?
ChatGPT и Codex могут получать доступ только к проектам, видимым подключённому пользователю GitLab. Убедитесь, что вы подключили нужную учётную запись GitLab, у вас есть доступ к проекту или группе в GitLab и выбрано правильное приложение для GitLab.com, GitLab Self-Managed или GitLab Dedicated.
Поддерживает ли плагин GitLab системы GitLab Self-Managed и GitLab Dedicated?
Стандартное приложение GitLab подключается к GitLab.com и может использоваться в ChatGPT и Codex. Для GitLab Self-Managed или GitLab Dedicated администратор рабочей области должен настроить и опубликовать шаблон приложения GitLab Self-Managed, прежде чем пользователи смогут подключиться. Инструкции см. в статье «Настройка шаблона приложения GitLab Self-Managed для ChatGPT и Codex».
Что делать, если мой экземпляр GitLab блокирует сетевой трафик?
Если ваш экземпляр GitLab Self-Managed или GitLab Dedicated ограничивает сетевой трафик:
Попросите сетевого администратора добавить диапазоны исходящих IP-адресов интеграций ChatGPT от OpenAI в список разрешённых, чтобы плагин GitLab мог обращаться к HTTPS-серверу и API вашего экземпляра GitLab.
Если вы используете среды проектов Codex, также добавьте диапазоны исходящих IP-адресов облачной инфраструктуры Codex в список разрешённых.
Для проверки кода с помощью Codex разрешите исходящие HTTPS-запросы вебхуков к Codex. Если доставка вебхуков завершается сбоем, проверьте настройки фильтрации исходящих запросов в GitLab.
Адреса для добавления в список разрешённых см. на странице «Диапазоны исходящих IP-адресов OpenAI».
