Ветки и запросы на слияние в задачахUpdate
Существующие или новые ветки и запросы можно связать с задачей, на которые затем можно быстро переходить со страницы задачи.
Для задачи с прикрепленным запросом есть возможность провести AI-обзор.
Связывание задачи с веткой или запросом
Для того, чтобы привязать существующую ветку или запрос к задаче, на странице задачи нажмите на иконку шестеренки в блоке Разработка, затем в открывшемся окне выберите нужные объекты и нажмите Сохранить.
Перейдите на страницу задачи или создайте новую.
Пример:
Нажмите на иконку шестеренки в блоке Разработка.
Пример:
В открывшемся окне выберите объекты на вкладках Ветки и Запросы.
Пример:
Нажмите Сохранить:
После сохранения прикрепленные запросы и ветки отобразятся на странице задачи в блоке Разработка.
Пример:
Создание ветки из задачи
Для создания новой ветки и интеграции ее с задачей выполните следующие шаги:
На странице задачи в блоке Разработка:
- нажмите на иконку шестеренки;
- в открывшемся окне нажмите Новая ветка.
Пример:
Или нажмите на ветку в блоке Разработка, если прикреплений пока нет.
Пример:
В открывшемся модальном окне:
-
добавьте название ветки;
-
в выпадающем списке выберите исходную ветку, от которой будет отведена новая;
-
затем нажмите Создать ветку.
Пример:
-
Отобразится:
-
ссылка на прикрепленную на ветку в блоке Разработка;
-
модальное окно для копирования команды перехода на новую ветку в локальном репозитории.
Пример:
-
Дополнительно см. Создание ветки.
Создание запроса из задачи
На странице задачи в блоке Разработка нажмите на иконку шестеренки, в открывшемся окне перейдите на вкладку запросы и нажмите Новый запрос.
Пример:
На странице создания запроса на слияние в выпадающих списках выберите исходную и целевую ветки.
Пример:
Нажмите Создать запрос.
Если на странице задачи прикреплен запрос, то здесь же можно провести его AI-обзор (пока только для языков Java, JavaScript, TypeScript).
Cм. также Создание запроса.
Автоматическое связывание веток и запросов с задачами
Привязка и автоматическая привязка задач работает только в рамках одного репозитория.
Автоматическое связывание с задачами веток и запросов происходит на основе ID задачи.
Автоматическое связывание включается в профиле репозитория > Настройки > Репозиторий > Задачи > Автоматическое связывание веток и запросов с задачами.
После включения автоматического связывания:
- добавление ID задачи в название ветки или коммита связывает ветку с задачей;
- создание запроса на слияние связывает ветку-источник и запрос с теми задачами, ID которых указаны в названии ветки-источника или названии запроса.
Включение автоматического связывания
Для включения автоматического связывания веток и запросов с задачами:
- перейдите в профиль репозитория > Настройки;
- на панели слева выберите вложенную вкладку Репозиторий;
- включите Задачи и отметьте чекбокс Автоматическое связывание веток и запросов с задачами;
- включите Запросы на слияние (см. Включение/выключение запросов);
- нажмите Обновить.
Пример:
ID задачи
ID задачи можно скопировать из адресной строки.
Пример:
Автоматическая привязка ветки
Автоматическая привязка ветки к задаче осуществляется при выполнении любого из условий:
- ID задачи добавлено в название ветки при создании или редактировании (см. Привязка через имя ветки);
- ID задачи добавлено в сообщение или описание коммита (см. Привязка через коммит);
- ветка является веткой-источником в запросе на слияние, который содержит ID задач (см. Привязка через название запроса).
Привязка через имя ветки
Для автоматической привязки ветки при создании или редактировании укажите ID задачи в ее названии.
Пример:
В результате ветка привяжется к задаче с соответствующим ID:
Привязка через коммит
Для автоматической привязки ветки к задаче через коммит в сообщении или описании коммита укажите ID задачи.
Пример:
В результате ветка с коммитом привяжется к задаче с соответствующим ID:
Автоматическая привязка запроса на слияние
Запрос на слияние автоматически привязывается к тем задачам, ID которых содержатся в:
- Имени ветки-источника запроса на слияние;
- Названии запроса на слияние.
Привязка запроса через название ветки
Связывание запроса с задачами происходит только на основе ID задач в имени ветки источника, если запрос на слияние не имеет ID задач в своем названии.
Создайте запрос на слияние с ID задач в именах сливаемых веток. Название запроса в данном примере не содержит ID задач.
Пример:
В результате запрос привяжется к задачам, ID которых есть в имени только ветки-источника.
Пример:
Привязка через название запроса
Если название запроса содержит ID задач, то ветка-источник и запрос привяжутся автоматически к каждой задаче, указанной в названии запроса.
Привязка осуществляется только на основе ID задач, указанных в названии запроса: ID задач в описании запроса не обрабатываются.
Создайте запрос и укажите в названии запроса ID задач.
Пример:
В результате ветка-источник и запрос привяжутся к задачам, ID которых указаны в названии запроса.
Пример:
Автоприкрепление задач к веткам через регулярные выраженияNew
Данная функциональность позволяет автоматически привязывать создаваемые ветки проекта к соответствующим задачам, используя регулярное выражение.
Теперь разработчики могут легко указать идентификатор (id) конкретной задачи непосредственно в сообщении коммита. Это позволяет платформе Gitverse автоматически связывать новую ветку с задачей. Например, добавив в сообщение коммита строку вида #TSKBGRP-4
, система самостоятельно распознает номер задачи и закрепляет соответствующую ветку к задаче с указанным номером.
Подобная функция экономит время разработчика, исключая необходимость вручную создавать связи между задачами и ветвями разработки. Вместо этого достаточно правильно оформить описание коммита, и система сама произведет необходимую операцию.
Преимущества нового подхода
-
Автоматизация: благодаря шаблону, поиск соответствия между сообщением коммита и задачей решается быстро и эффективно.
-
Снижение нагрузки: разработчикам больше не нужно тратить время на ручное добавление связей между задачами и ветками.
-
Повышение прозрачности: команда получает мгновенный доступ к актуальной информации о статусе каждой ветки относительно конкретных задач.
Новая функциональность оптимизирует рабочий процесс разработчиков, ускоряя выполнение повседневных операций и повышая общую эффективность команды.
Настройка репозитория для автоприкрепления
Для удобной привязки задач к конкретному коммиту нужно настроить репозиторий с помощью регулярных выражений. Для этого выполните следующие действия.
- Откройте настройки репозитория > Задачи.
- Активируйте опцию автопривязки, выбрав пункт «Автоприкрепление по сообщению коммита».
- В появившемся списке выберите регулярное выражение, которое будет использоваться для распознавания идентификаторов задач внутри сообщений коммитов. Например, можно использовать форматы вроде
#{taskCode}
или\w+/{taskCode}
. - После выбора подходящего шаблона нажмите кнопку Обновить, чтобы изменения вступили в силу.
Теперь, когда вы создаете новый коммит, достаточно указать ID задачи прямо в сообщении коммита, следуя заданному формату.
Пример коммита для регулярного выражение вида #{taskCode}
:
Исправлен баг #TSKT_TTCH-1
Если используется формат вида(f|bug/{taskCode})
, то:
Добавлена фича f/TSKBGRP-2
Автоприкрепление задач через консоль
Для автоприкрепление задач через консоль с использованием регулярного выражения:
- В настройках репозитория-Задачи отметьте чек-бокс Автоприкрепление по сообщению коммита.
- Выберите регулярное выражение, например,
\w+/{taskCode}
. - Клонируйте репозиторий.
- Внесите изменения в локальный репозиторий, например, создайте новую ветку и файл в ней:
git checkout -b develop
touch auto_attach.mdx
- Зафиксируйте изменения с учетом регулярного выражения
\w+/{taskCode}
:
git add .
git commit -m "Fixed bug TSKT_TTCH-1
- Выполните push ветки:
git push --set-upstream origin develop
-
Зайдите в задачу, прикрепленную через коммит, проверьте, что ветка прикрепилась к задаче.
Автоприкрепление задач через UI
Для автоприкрепления задач через UI с использованием регулярного выражения
-
В настройках репозитория > Задачи проставьте чек-бокс Автоприкрепление по сообщению коммита.
-
Выберите регулярное выражение, например,
#{taskCode}
. -
Внесите изменения в репозиторий, например, создайте файл.
-
Сохраните изменения с учетом регулярного выражения
#{taskCode}
. -
Зайдите в задачу, прикрепленную через коммит, проверьте что ветка прикрепилась к задаче.
После выполнения указанных шагов система автоматически свяжет вашу задачу с соответствующим коммитом, упростив отслеживание изменений и повысив прозрачность разработки.
Переход из задачи на страницу ветки или запроса
Для перехода на прикрепленные ветки и запросы нажмите на соответствующую ссылку в блоке Разработка на странице задачи.
Пример:
Открепление от задачи веток и запросов
Для открепления веток и запросов:
- нажмите на иконку шестеренки на странице задачи в блоке Разработка;
- в открывшемся окне нажмите на объекты на вкладках Ветки и Запросы, чтобы снять галочки;
- нажмите Сохранить.
Пример:
Нажмите на ветки и запросы, чтобы снять галочки и открепить их от задачи:
AI-обзор запроса в задаче
Если на странице задачи к ней прикреплен запрос, то здесь же можно провести его AI-обзор.
Если репозиторий приватный или профиль приватный, то пиктограмма AI‑ревью будет заблокирована, в таком случае для разблокирования требуется добавить приватную техническую учетную запись aigigaview. См. раздел AI-обзор приватного репозитория или профиля.
Нажмите на пиктограмму AI‑ревью.
Пример:
Нажмите Начать AI-обзор.
Пример:
Отобразится:
Отчет AI-обзора сохраняется после генерации и привязан к запросу на слияние.
Переход из AI-обзора к запросу
Отчет AI-обзора сохраняется после генерации, поэтому продолжить работу с отчетом можно на странице запроса.
Нажмите на запрос в AI-отчете в задачах.
Пример:
На странице запроса нажмите на вкладку AI-обзор.
Пример:
Отобразится ранее сгенерированный отчет AI-обзора:
Ограничения AI-обзора в задачах
- Функциональность AI-обзора доступна только для авторизованных пользователей.
- Поддерживаемые форматы: .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.