Русский
Русский
English
Статистика
Реклама

YouTrack теперь с просмотром пул-реквестов в задачах

Привет, Хабр!

С вами команда YouTrack из JetBrains. У нас отличные новости начиная с YouTrack 2020.3 в задачах отображаются не только коммиты, связанные с задачами, но и пул-реквесты. В сегодняшнем посте мы расскажем, что это, зачем это, и как это поможет сделать процесс разработки более эффективным и понятным, а еще покажем остальные нововведения последней версии YouTrack.

image

За подробностями добро пожаловать в пост.


Что такое пул-реквест?


В ряде моделей модели разработки совместная работа над проектом выглядит так: вы копируете проект из системы контроля версий, вносите изменения локально, после чего отправляете запрос владельцу проекта на одобрение ваших изменений и включение их в общую кодовую базу проекта. Такой запрос называется пул-реквестом (или мерж-реквестом, в зависимости от системы контроля версий).

Грубо говоря, пул-реквест это способ рассказать владельцу репозитория или своей команде, что вы сделали в проекте, и предложить включить ваши изменения в одну из общих веток разработки. Владелец репозитория (или человек, который будет делать вам код-ревью) может как принять изменения (смержить пул-реквест), так и отклонить например если изменения противоречат видению автора проекта или в процессе код-ревью решили, что код нужно доработать.

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

Зачем пул-реквесты в трекере?


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

Просмотр пул-реквестов в задачах


Вернемся к YouTrack: начиная с YouTrack 2020.3, разработчики смогут видеть пул-реквесты из GitHub, GitLab, BitBucket, Gogs и Gitea в задачах рядом с коммитами. Чтобы пул-реквест вместе с его описанием, числом обновленных файлов и информацией об авторе отобразился в задаче, нужно упомянуть соответствующую задачу в названии пул-реквеста (все точно так же, как и с коммитами).

Далее, после принятия или отклонения пул-реквеста, YouTrack включит это событие в поток активности задачи вместе с автором события и статусом пул-реквеста. Получается, лента изменений задачи будет отображать весь жизненный цикл пул-реквеста его создание и финальное решение (отклонение либо включение в кодовую базу).

image

Автоматизируй это


Мы очень любим и активно используем автоматизацию, поэтому не могли пройти мимо возможности использовать события из системы контроля версий в скриптах автоматизации. Теперь вы можете инициировать запуск рабочего процесса (workflow) YouTrack при добавлении пул-реквеста или коммита. Кроме того, в рабочих процессах появился доступ к свойствам коммитов и пул-реквестов, таким как имя автора, описание или примечание.

Что это значит? Например, вы можете автоматически менять статус задачи в зависимости от статуса пул-реквеста или отправлять запрос на код-ревью коллеге при создании пул-реквеста.

Вот такой несложный скрипт автоматически переведет задачу в статус Fixed при мерже пул-реквеста и затем назначит ее на QA-лида с сообщением о том, что задача готова к тестированию:

var entities = require('@jetbrains/youtrack-scripting-api/entities');var QA_LEAD = 'qa_superman';exports.rule = entities.Issue.onChange({  title: 'Set_to_fixed_when_pull_request_is_merged_and_notify',  guard: function(ctx) {    return ctx.issue.pullRequests.isNotEmpty() &&       ctx.issue.pullRequests.last().previousState &&       ctx.issue.pullRequests.last().state.name !== ctx.issue.pullRequests.last().previousState.name &&      ctx.issue.pullRequests.last().state.name === "MERGED";  },  action: function(ctx) {    var issue = ctx.issue;    issue.State = ctx.State.Fixed;    issue.Assignee = entities.User.findByLogin(QA_LEAD);    issue.addComment("The issue is ready to be tested");  },  requirements: {    State: {      type: entities.State.fieldType,      Fixed: {        name: "Fixed"      }    },  }});


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

Что еще интересного?


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

image

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

Есть новости и для тех, кто использует LDAP-сервер для управления учетными данными пользователей. YouTrack и раньше позволял аутентифицироваться с помощью учетных данных из LDAP-сервера, а теперь к этому добавилась синхронизация групп и атрибутов пользователей с LDAP-сервером по расписанию. Это позволит поддерживать учетные данные и информацию о принадлежности к LDAP-группам в максимально актуальном состоянии например, поможет избежать несанкционированного доступа к данным в трекере, если пользователь уже не является членом группы на вашем LDAP-сервере, но все еще получает соответствующий доступ в трекере из-за задержки в синхронизации между LDAP-сервером и YouTrack.

Подробности обо всех изменениях можно найти на нашем сайте.
А если вы еще не знакомы с YouTrack или только начинаете работу с ним добро пожаловать на нашу бесплатную демонстрацию основ YouTrack.
Источник: habr.com
К списку статей
Опубликовано: 28.07.2020 20:05:54
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании jetbrains

Agile

Управление продуктом

Управление проектами

Управление разработкой

Issue tracker

Issue tracking

Pull request

Vcs

Таск менеджмент

Youtrack

Категории

Последние комментарии

© 2006-2021, personeltest.ru