WorkAI

GitLab

Как подключить GitLab к WorkAI: OAuth, токен доступа или свой сервер GitLab — и как импортировать репозиторий в проект Создателя.

Эта интеграция относится к режиму Создатель — конструктору, который генерирует веб-проект по вашему описанию. С GitLab она умеет ровно одно: забрать существующий репозиторий и создать из него новый проект Создателя. Обратной выгрузки нет — в отличие от интеграции с GitHub, у GitLab нет ни синхронизации, ни привязки проекта к репозиторию, ни листинга веток и merge request'ов.

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

Подключиться можно двумя способами: через OAuth (доступ ко всем проектам вашего аккаунта gitlab.com) или по токену доступа (доступ только к тому проекту или группе, для которых вы этот токен создали — в том числе на своём сервере GitLab). Подключение и импорт доступны только владельцу проекта.

Как подключить

  1. В открытом проекте Создателя откройте меню «Ещё» и выберите «Из GitLab» (в компактной раскладке — «Импортировать из GitLab»).
  2. Откроется окно подключения с двумя способами — «Подключить через OAuth» и «Подключить по токену доступа».

Через OAuth

  1. Нажмите «Подключить через OAuth». WorkAI откроет страницу авторизации на gitlab.com — подтвердите доступ приложению WorkAI под своим аккаунтом.
  2. После подтверждения GitLab вернёт вас обратно, откроется список ваших проектов GitLab для выбора.
  3. Выберите репозиторий — WorkAI скачает его архивом и создаст из него новый проект Создателя. Текущий открытый проект (если он был) не меняется.

Приложение запрашивает scope api — по классификации GitLab это полный доступ на чтение и запись ко всем группам и проектам аккаунта, включая container registry и package registry (Сверено 22.09.2026 по docs.gitlab.com/integration/oauth_provider). У GitLab OAuth нет более узкого права на запись и нет способа ограничить его отдельным репозиторием — это устройство GitLab, не выбор WorkAI. Сегодня интеграция фактически использует только чтение — импорт репозитория; выданные права шире того, чем приложение пользуется, потому что на них готовится выгрузка проекта обратно в GitLab. Если вам нужно ограничить доступ конкретным проектом или группой, а не всем аккаунтом — используйте токен доступа ниже.

OAuth работает только с gitlab.com. Для своего сервера GitLab — только токен доступа, см. «Свой сервер GitLab» ниже.

Подключение по токену доступа

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

  1. В окне подключения нажмите «Подключить по токену доступа».
  2. Создайте в GitLab токен: персональный (Personal Access Token — доступ ко всем проектам, которые видит ваш аккаунт) либо токен проекта или группы (Project/Group Access Token — доступ только к этому проекту или группе). Личный кабинет GitLab → Settings → Access Tokens (для проекта или группы — в настройках самого проекта/группы).
  3. Выберите scope api (полный список и формулировки — docs.gitlab.com/security/tokens/access_token_scopes, сверено 23.09.2026). Токен с read_api тоже подключится и позволит импортировать — но WorkAI постоянно будет предлагать переподключиться с расширенными правами (это не разовое сообщение, а состояние подключения до тех пор, пока прав не хватает), а когда появится запись изменений обратно в GitLab, без api она не заработает. Поэтому api — рекомендованный выбор уже сейчас.
  4. На gitlab.com токены проекта и группы доступны только на тарифах Premium и Ultimate (Сверено 21.09.2026 по docs.gitlab.com/user/project/settings/project_access_tokens) — на бесплатном тарифе для ограничения доступа отдельным проектом создавайте персональный токен именно под тот аккаунт, где нужен доступ, либо используйте OAuth. На self-hosted инстансе это ограничение зависит от лицензии вашего сервера.
  5. Вставьте токен в поле «Токен доступа» и нажмите «Подключить».

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

Если срок действия токена закончился, в окне подключения появится баннер «Токен истёк» с кнопкой, которая сразу открывает поле для нового токена, — вставьте его, отключать GitLab заранее не нужно. «Отключить GitLab» удаляет токен из WorkAI, но в самом GitLab он остаётся действительным, пока вы его не отзовёте.

Свой сервер GitLab

Токеном можно подключить не только gitlab.com, но и свой (self-hosted) сервер GitLab — заполните поле «Адрес GitLab» рядом с полем токена, например https://gitlab.example.com. Пустое поле означает gitlab.com.

Адрес можно вставить как есть: без схемы WorkAI сам подставит https://, а суффикс /api/v4, скопированный из настроек API, отрежет. Если GitLab у вас открыт по подпути (https://example.com/gitlab), подпуть сохраняется. После подключения в окне видно, под каким пользователем и каким способом подключён GitLab, а для своего сервера — ещё и его адрес.

Требования к адресу:

  • только https:// — подключение по http:// не поддерживается, адрес с ним будет отклонён;
  • сервер должен быть доступен из интернета — адреса внутренней сети (внутренние DNS-имена, localhost, IP-адреса, домены .local/.internal/.lan и подобные) не принимаются;
  • логин и пароль в адресе (https://user:pass@…) не принимаются — доступ даёт только токен;
  • https://gitlab.com/что-то считается опечаткой: для gitlab.com оставьте поле пустым.

Если адрес не подошёл по формату, WorkAI сразу объяснит причину в окне подключения. Для адресов внутренней сети ответ намеренно общий — «не удалось подключиться к GitLab по этому адресу», без подробностей.

OAuth для своего сервера GitLab пока не поддерживается — каждый self-hosted инстанс потребовал бы отдельной регистрации OAuth-приложения WorkAI именно на нём. Подключить свой сервер сейчас можно только токеном доступа.

Что происходит при импорте

Импорт берёт исходники и осознанно отбрасывает остальное — те же правила, что и для импорта из GitHub:

Что пропускаетсяПочему
.env, ключи, учётные данныеСекретам не место в платформе
node_modules, dist, build, .git и подобные каталогиЭто не исходники, а результат сборки и зависимости
Картинки, шрифты, архивы и другие двоичные файлыИмпорт работает с текстовыми файлами
Файлы больше 256 КБОграничение на отдельный файл

Действуют те же потолки, что и у GitHub-импорта: не более 800 файлов и 8 МБ исходников суммарно (превышение не отменяет импорт — лишние файлы просто не приезжают и попадают в список пропущенных), а скачиваемый архив репозитория ограничен 12 МБ в сжатом виде (превышение — уже отказ, импорт не начнётся).

После импорта картинки и шрифты придётся загрузить в проект заново. В проект добавляются служебные файлы платформы — Dockerfile, nginx-default.conf, workai-template.json — по ним собирается публикация; одноимённые файлы из репозитория заменяются ими.

Подробный разбор предупреждений на экране результата импорта (превью может не подняться, инструмент сборки не распознан и так далее) — в статье про GitHub: экран результата и правила одинаковые для обоих источников импорта.

Чего нет

  • Выгрузки проекта Создателя обратно в GitLab-репозиторий.
  • Привязки проекта к репозиторию после импорта — повторного «синхронизировать» не будет, для новой версии нужен новый импорт.
  • Листинга веток и создания merge request'ов.
  • OAuth для своего сервера GitLab — только токен доступа (см. «Свой сервер GitLab» выше).

Как отключить

В окне подключения GitLab нажмите «Отключить GitLab». Дальше зависит от того, как вы подключались:

  • Через OAuth — WorkAI реально отзывает выданный токен на стороне GitLab, доступ закрывается сразу.
  • По токену доступа — WorkAI только забывает токен у себя; отозвать за вас его в GitLab технически нельзя. Интерфейс покажет подсказку — отзовите токен сами: Settings → Access Tokens того проекта, группы или аккаунта, где вы его создавали.

Уже импортированные проекты не удаляются и не привязаны к репозиторию, отключение на них не влияет.

Похожие темы

  • GitHub — тот же импорт плюс полноценная выгрузка проекта обратно в репозиторий.
  • Создатель — как устроен режим, в который импортируется репозиторий.
  • Быстрый старт — установка десктоп-клиента и первая правка кода.