Подключение GitLab¶
Результат¶
Threadory сможет читать issues, merge requests и выбранный код проекта, а при разрешённой записи — создавать задачи и публиковать результаты.
Что потребуется¶
- роль администратора или владельца проекта Threadory;
- GitLab Personal Access Token или project access token для тестового проекта;
- путь GitLab-проекта в формате
group/repository(или полный URL проекта); - scopes для чтения и, для closed loop / webhook,
api.
Профиль подключения¶
| Параметр | Минимум или ожидаемое поведение |
|---|---|
| Credential | Предпочтителен отдельный project access token. Personal access token поддерживается, но его GitLab user станет внешним actor. |
| Минимальный доступ | Для read-only ingestion используйте read_api. Добавляйте api только если Threadory должен создавать issues, публиковать comments или устанавливать project webhook. |
| Identity | Это общий service credential, а не per-user OAuth. GitLab записывает действия от token owner; audit Threadory сохраняет запросившего пользователя. |
| Направление и entities | Inbound: issues, merge requests и выбранные code_file. Outbound-действия с issue/MR требуют api. |
| Delivery mode | Incremental polling выполняется каждые 60 минут. Project webhook ускоряет события MR, issue, note и push; polling остаётся fallback. |
Шаги¶
- Откройте Connectors и нажмите Connect у GitLab (или recommended card).
- Следуйте интерактивной инструкции в drawer: куда зайти в GitLab, какие
scopes (
read_apiминимум,apiдля write-back и webhook), как прочитать project path из URL. Ссылки Open GitLab / Open personal access tokens открывают нужные страницы (для self-managed — по полю GitLab base URL в блоке Paste credentials). - При необходимости задайте GitLab base URL, вставьте token и project path или полный URL проекта, нажмите Connect GitLab.
- На шаге webhook нажмите Install webhook (secret генерирует Threadory) или Use polling for now. Без webhook реакция на MR/issue медленнее (polling).
- Вернитесь к карточке подключения и нажмите Sync now.
Как проверить результат¶
- установка отображается на странице Connectors;
- webhook помечен как установлен либо явно показан polling fallback;
- sync завершился успешно в Activity;
- issues и merge requests появились в Knowledge.
Частые проблемы¶
| Симптом | Причина | Что сделать |
|---|---|---|
| Проверка доступа не проходит | Неверный URL, token или project path | Проверить значения на тестовом проекте, не пересылать token |
| Чтение работает, создание issue нет | Token не имеет права записи | Выдать минимальный write scope и переподключить безопасно |
| Webhook не установлен | Нет scope api / прав на hooks, или неверный project path |
Выдать api, переустановить webhook из меню карточки или оставить polling |
| События приходят с задержкой | Webhook отсутствует или нездоров | Проверить состояние webhook на карточке GitLab |
Безопасное отключение¶
Отключение останавливает будущие sync и write-back. Оно не отменяет уже созданные в GitLab issues или comments и не удаляет автоматически импортированные entities Threadory.
- Приостановите workflows и approvals, которые могут писать в GitLab.
- Экспортируйте нужные данные проекта.
- Запишите URL project webhook и отключите connector в Threadory.
- Удалите записанный webhook в GitLab, если он остался.
- Отзовите token, если он был выделен только этому connector. Не отзывайте общий personal token, пока не найдены остальные consumers.
- Примените описанный retention process к импортированным данным, которые требуется удалить.
Убедитесь, что карточка connector исчезла, project webhook отсутствует, а новые sync и write actions не появляются. Для восстановления подключите новый least-privilege token и выполните Sync now. Уже опубликованные записи GitLab нужно исправлять в самом GitLab: reconnect их не откатывает.
Следующий шаг¶
Подключите tl;dv или Zoom как источник встреч либо пройдите первый closed loop.