Ветки и запросы на слияние в задачах

Ветки и запросы на слияние в задачах
Update

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

Для задачи с прикрепленным запросом есть возможность провести AI-обзор.

Связывание задачи с веткой или запросом

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

  1. Перейдите на страницу задачи или создайте новую.

    Пример:

  2. Нажмите на иконку шестеренки в блоке Разработка.

    Пример:

  3. В открывшемся окне выберите объекты на вкладках Ветки и Запросы.

    Пример:

    Нажмите Сохранить:

  4. После сохранения прикрепленные запросы и ветки отобразятся на странице задачи в блоке Разработка.

    Пример:

Создание ветки из задачи

Для создания новой ветки и интеграции ее с задачей выполните следующие шаги:

  1. На странице задачи в блоке Разработка:

    1. нажмите на иконку шестеренки;
    2. в открывшемся окне нажмите Новая ветка.

    Пример:

    Или нажмите на ветку в блоке Разработка, если прикреплений пока нет.

    Пример:

  2. В открывшемся модальном окне:

    1. добавьте название ветки;

    2. в выпадающем списке выберите исходную ветку, от которой будет отведена новая;

    3. затем нажмите Создать ветку.

      Пример:

  3. Отобразится:

    1. ссылка на прикрепленную на ветку в блоке Разработка;

    2. модальное окно для копирования команды перехода на новую ветку в локальном репозитории.

      Пример:

💡

Дополнительно см. Создание ветки.

Создание запроса из задачи

  1. На странице задачи в блоке Разработка нажмите на иконку шестеренки, в открывшемся окне перейдите на вкладку запросы и нажмите Новый запрос.

    Пример:

  2. На странице создания запроса на слияние в выпадающих списках выберите исходную и целевую ветки.

    Пример:

  3. Нажмите Создать запрос.

💡

Если на странице задачи прикреплен запрос, то здесь же можно провести его AI-обзор (пока только для языков Java, JavaScript, TypeScript).

Cм. также Создание запроса.

Автоматическое связывание веток и запросов с задачами

Привязка и автоматическая привязка задач работает только в рамках одного репозитория.

Автоматическое связывание с задачами веток и запросов происходит на основе ID задачи.

Автоматическое связывание включается в профиле репозитория > Настройки > Репозиторий > Задачи > Автоматическое связывание веток и запросов с задачами.

После включения автоматического связывания:

  • добавление ID задачи в название ветки или коммита связывает ветку с задачей;
  • создание запроса на слияние связывает ветку-источник и запрос с теми задачами, ID которых указаны в названии ветки-источника или названии запроса.

Включение автоматического связывания

Для включения автоматического связывания веток и запросов с задачами:

  1. перейдите в профиль репозитория > Настройки;
  2. на панели слева выберите вложенную вкладку Репозиторий;
  3. включите Задачи и отметьте чекбокс Автоматическое связывание веток и запросов с задачами;
  4. включите Запросы на слияние (см. Включение/выключение запросов);
  5. нажмите Обновить.

Пример:

ID задачи

ID задачи можно скопировать из адресной строки.

Пример:

Автоматическая привязка ветки

Автоматическая привязка ветки к задаче осуществляется при выполнении любого из условий:

Привязка через имя ветки

Для автоматической привязки ветки при создании или редактировании укажите ID задачи в ее названии.

Пример:

В результате ветка привяжется к задаче с соответствующим ID:

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

Для автоматической привязки ветки к задаче через коммит в сообщении или описании коммита укажите ID задачи.

Пример:

В результате ветка с коммитом привяжется к задаче с соответствующим ID:

Автоматическая привязка запроса на слияние

Запрос на слияние автоматически привязывается к тем задачам, ID которых содержатся в:

  1. Имени ветки-источника запроса на слияние;
  2. Названии запроса на слияние.

Привязка запроса через название ветки

⚠️

Связывание запроса с задачами происходит только на основе ID задач в имени ветки источника, если запрос на слияние не имеет ID задач в своем названии.

  1. Создайте запрос на слияние с ID задач в именах сливаемых веток. Название запроса в данном примере не содержит ID задач.

    Пример:

  2. В результате запрос привяжется к задачам, ID которых есть в имени только ветки-источника.

    Пример:

Привязка через название запроса

Если название запроса содержит ID задач, то ветка-источник и запрос привяжутся автоматически к каждой задаче, указанной в названии запроса.

⚠️

Привязка осуществляется только на основе ID задач, указанных в названии запроса: ID задач в описании запроса не обрабатываются.

  1. Создайте запрос и укажите в названии запроса ID задач.

    Пример:

  2. В результате ветка-источник и запрос привяжутся к задачам, ID которых указаны в названии запроса.

    Пример:

Автоприкрепление задач к веткам через регулярные выражения
New

Данная функциональность позволяет автоматически привязывать создаваемые ветки проекта к соответствующим задачам, используя регулярное выражение.

Теперь разработчики могут легко указать идентификатор (id) конкретной задачи непосредственно в сообщении коммита. Это позволяет платформе Gitverse автоматически связывать новую ветку с задачей. Например, добавив в сообщение коммита строку вида #TSKBGRP-4, система самостоятельно распознает номер задачи и закрепляет соответствующую ветку к задаче с указанным номером.

Подобная функция экономит время разработчика, исключая необходимость вручную создавать связи между задачами и ветвями разработки. Вместо этого достаточно правильно оформить описание коммита, и система сама произведет необходимую операцию.

Преимущества нового подхода

  1. Автоматизация: благодаря шаблону, поиск соответствия между сообщением коммита и задачей решается быстро и эффективно.

  2. Снижение нагрузки: разработчикам больше не нужно тратить время на ручное добавление связей между задачами и ветками.

  3. Повышение прозрачности: команда получает мгновенный доступ к актуальной информации о статусе каждой ветки относительно конкретных задач.

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

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

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

  1. Откройте настройки репозитория > Задачи.
  2. Активируйте опцию автопривязки, выбрав пункт «Автоприкрепление по сообщению коммита».
  3. В появившемся списке выберите регулярное выражение, которое будет использоваться для распознавания идентификаторов задач внутри сообщений коммитов. Например, можно использовать форматы вроде #{taskCode} или \w+/{taskCode}.
  4. После выбора подходящего шаблона нажмите кнопку Обновить, чтобы изменения вступили в силу.

Теперь, когда вы создаете новый коммит, достаточно указать ID задачи прямо в сообщении коммита, следуя заданному формату.

Пример коммита для регулярного выражение вида #{taskCode}:

Исправлен баг #TSKT_TTCH-1

Если используется формат вида(f|bug/{taskCode}), то:

Добавлена фича f/TSKBGRP-2

Автоприкрепление задач через консоль

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

  1. В настройках репозитория-Задачи отметьте чек-бокс Автоприкрепление по сообщению коммита.
  2. Выберите регулярное выражение, например, \w+/{taskCode}.
  3. Клонируйте репозиторий.
  4. Внесите изменения в локальный репозиторий, например, создайте новую ветку и файл в ней:
	git checkout -b develop
	touch auto_attach.mdx
  1. Зафиксируйте изменения с учетом регулярного выражения \w+/{taskCode}:
	git add .
	git commit -m "Fixed bug TSKT_TTCH-1
  1. Выполните push ветки:
	git push --set-upstream origin develop
  1. Зайдите в задачу, прикрепленную через коммит, проверьте, что ветка прикрепилась к задаче.

Автоприкрепление задач через UI

Для автоприкрепления задач через UI с использованием регулярного выражения

  1. В настройках репозитория > Задачи проставьте чек-бокс Автоприкрепление по сообщению коммита.

  2. Выберите регулярное выражение, например, #{taskCode}.

  3. Внесите изменения в репозиторий, например, создайте файл.

  4. Сохраните изменения с учетом регулярного выражения #{taskCode}.

  5. Зайдите в задачу, прикрепленную через коммит, проверьте что ветка прикрепилась к задаче.

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

Переход из задачи на страницу ветки или запроса

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

Пример:

Открепление от задачи веток и запросов

Для открепления веток и запросов:

  1. нажмите на иконку шестеренки на странице задачи в блоке Разработка;
  2. в открывшемся окне нажмите на объекты на вкладках Ветки и Запросы, чтобы снять галочки;
  3. нажмите Сохранить.

Пример:

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

AI-обзор запроса в задаче

Если на странице задачи к ней прикреплен запрос, то здесь же можно провести его AI-обзор.

Если репозиторий приватный или профиль приватный, то пиктограмма AI‑ревью будет заблокирована, в таком случае для разблокирования требуется добавить приватную техническую учетную запись aigigaview. См. раздел AI-обзор приватного репозитория или профиля.

  1. Нажмите на пиктограмму AI‑ревью.

    Пример:

  2. Нажмите Начать AI-обзор.

    Пример:

    Отобразится:

    Отчет AI-обзора сохраняется после генерации и привязан к запросу на слияние.

Переход из AI-обзора к запросу

Отчет AI-обзора сохраняется после генерации, поэтому продолжить работу с отчетом можно на странице запроса.

  1. Нажмите на запрос в AI-отчете в задачах.

    Пример:

  2. На странице запроса нажмите на вкладку AI-обзор.

    Пример:

    Отобразится ранее сгенерированный отчет AI-обзора:

Ограничения AI-обзора в задачах

  1. Функциональность AI-обзора доступна только для авторизованных пользователей.
  2. Поддерживаемые форматы: .abap, .h, .c, .cc, .cpp, .cs, .clj, .coffee, .cu, .dart, .erl, .go, .groovy, .java, .jsx, .js, .jl, .kt, .lua, .php, .pas, .py, .pl, .rb, .rs, .scala, .sh, .sql, .swift, .ts, .tsx, .vb, .vue.

Связанные разделы

  1. Создание ветки на вкладке Код.
  2. Создание запроса на слияние.
  3. AI-обзор.