Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
FAQ
Клиенты
Поддержка
Вики
Затраты
Отчёты и аналитика
Типы отчётов
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Панели сущностей
Фильтры источников данных
Отчёты по сущностям
FAQ
Настройка и администрирование
Типовой порядок настройки системы
Интеграция с Mattermost
Язык формул и выражений
Язык шаблонов
API
Общие сведения
Аутентификация
Примеры использования API
Справочник API
API для структуры проекта
Reporting API
Рекомендации по работе с Reporting API
Ограничения
Timetta MCP Server
On-premises
История изменений
2026
Термины и определения

Интеграция с GitLab

Обновлено: 06.10.2026

Интеграция с GitLab позволяет связать процесс разработки с задачами в Timetta. Она отображает ветки, коммиты и запросы на слияние, относящиеся к конкретным задачам, и поддерживает эти данные в актуальном состоянии.

Два механизма обновления

  1. Периодическая синхронизация — в типовой конфигурации раз в 15 минут запускается фоновая задача, которая обновляет данные для активных записей GitLab репозиториев в Timetta.

  2. Вебхуки — если в GitLab настроен вебхук для вашего абонента в Timetta, то после Push в репозиторий и событий по Merge Request GitLab отправляет запрос в Timetta. Это ускоряет обновление данных.

Обрабатываемые события

На данный момент в Timetta обрабатываются только события Push Hook и Merge Request Hook. Остальные типы событий GitLab отклоняются.

Как Timetta сопоставляет данные из GitLab с задачей

Timetta ищет коды задач в нескольких местах:

Данные GitLab Где ищется код задачи
Ветка В имени ветки
Коммит В полном сообщении коммита: заголовке и теле. Дополнительно учитывается код ветки
Запрос на слияние (Merge Request, MR) В имени исходной ветки, заголовке и описании MR

Один коммит или MR может быть связан с несколькими задачами. Повторное упоминание одного кода не создаёт дополнительных связей.

Например, сообщение коммита DEV-123 DEV-456: исправлена обработка связывает коммит с обеими задачами. В MR можно указать DEV-123 в заголовке, а DEV-456 — в описании.

Код в имени ветки не обязателен для привязки коммита или MR: упоминания в тексте работают и для main, develop или feature/common.

Сообщение коммита и комментарии GitLab

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

Формат кода задачи

Код должен:

  • начинаться с латинской буквы;
  • дальше могут идти латинские буквы, цифры, _, . и дефисы;
  • заканчиваться дефисом и числом.

Регистр букв не важен.

Примеры кодов:

  • DEV-123, PROJ-42, IMPL01-42;
  • ABC_X20-1193 — подчёркивание в префиксе;
  • PROJ-1-3 — несколько числовых сегментов;
  • ARCH-PR-2026-1 — дефисы в ключе проекта;
  • TSR.EP.TSR.26.041-6-513 — точки в коде.

Примеры имён веток:

  • feature/DEV-123/add-report;
  • fix/dev-456/fix-filter;
  • feature/IMPL01-42/any;
  • feature/PROJ-1-3/any;
  • feature/PROJ-1-3-public-event-update — описание после кода через дефис, привязка к PROJ-1-3;
  • feature/TSR.EP.TSR.26.041-6-513/public-event-update;
  • users/alex/ARCH-PR-2026-1.

Несколько кодов в имени ветки

Если в имени ветки встречается несколько отдельных кодов, для привязки к задаче берётся последний по порядку слева направо.

Пример: ветка feature/EPIC-10/TASK-42/api привяжется к задаче с кодом TASK-42, а не EPIC-10, потому что TASK-42 в имени идёт правее.

Сегменты через дефис считаются одним кодом, если последний сегмент — число. Например, ARCH-PR-2026-1 и EPIC-10-TASK-42 распознаются целиком, а не как набор коротких кодов.

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

Привязка коммитов по ветке

Для кода из имени ветки сохраняется прежнее правило: к задаче относятся собственные коммиты этой ветки. Коммиты, унаследованные из базовой ветки, не получают такую связь только из-за своего присутствия в ветке.

При этом явные коды в сообщении коммита учитываются независимо от этого правила. Например, если коммит пришёл из develop, но в его сообщении указан DEV-456, он будет связан с задачей DEV-456.

Изменение упоминаний в MR

При синхронизации Timetta учитывает все коды из исходной ветки, заголовка и описания MR:

  • добавление кода добавляет связь с соответствующей задачей;
  • если код остаётся хотя бы в одном из этих мест, связь сохраняется;
  • удаление последнего упоминания задачи удаляет её связь с MR.

Например, если DEV-123 есть и в заголовке, и в описании MR, удаления кода только из заголовка недостаточно для удаления связи.

Перенос задачи в другой проект

При переносе задачи её код меняется. Уже установленная связь с MR сохраняется, пока в MR остаётся исходное упоминание: Timetta помнит, к какой задаче оно относилось.

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

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

Ранее загруженные данные и история

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

Для загрузки более ранней истории из GitLab предусмотрен отдельный служебный запуск. По умолчанию он охватывает последние 90 дней; период можно изменить при запуске. Он не выполняется автоматически при обновлении интеграции. Для такого запуска обратитесь к администратору.

Повторная синхронизация и повторная доставка вебхуков не должны создавать дубли коммитов, MR и их связей с задачами.

Как настроить

  1. Включить интеграцию и задать необходимые параметры. Подробнее — Системные настройки > Интеграция с GitLab. Сохраните сгенерированный секрет, он понадобится на шаге 3.

  2. Создать репозиторий в Timetta. Подробнее — GitLab Репозитории.

  3. Создать вебхук в GitLab:

    • в GitLab откройте Settings нужного проекта → раздел Webhooks;
    • в поле URL укажите полный адрес вида https://api.timetta.com/api/gitlab/webhooks/<домен_абонента>, где <домен_абонента> — домен вашего абонента в Timetta;
    • в поле Secret token вставьте секрет, который был сгенерирован на шаге 1;
    • включите чек-боксы Push events и Merge request events.

Где и что видим в итоге

В Карточке задачи появляется секция Разработка. В ней отображаются ветки, коммиты и запросы на слияние, относящиеся к этой задаче.

'Раздел Разработка'

Так же можно увидеть подробную информацию о коммитах и запросах на слияние по клику на соответствующие ссылки в секции Разработка.

'Раздел Разработка'

Если интеграция выключена, секция Разработка не будет показана.

Содержание

Два механизма обновления Как Timetta сопоставляет данные из GitLab с задачей Формат кода задачи Привязка коммитов по ветке Изменение упоминаний в MR Перенос задачи в другой проект Ранее загруженные данные и история Как настроить Где и что видим в итоге
Спросить ИИ Получить ответ по материалам документации
Введите запрос для поиска по документации
Ничего не найдено, уточните запрос
AI

Похоже, вам удобнее русский язык. Перейти на русскую версию?