Напоминания о проведении ревью, используя Jira

В моей практике часто была проблема с тем, что разработчики, аналитики и дизайнеры очень долго проводят Review задачи и из-за этого процесс разработки приостанавливается.

В какой-то момент я решил разобраться с этим и поднял вопрос на ретроспективе. Оказалось, что часто проблема возникает из-за того, что ответственный не увидел задачи или забыл о том, что ее нужно проверить. Для решения этой проблемы мы настроили уведомления в Jira и теперь время на проверку задачи уменьшилось в два раза.

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

0. Описание бизнес процесса

В данной статей я буду ссылаться на обычный бизнес процесс, который мы используем в небольших командах:

WorkFlow для простых задач

WorkFlow для простых задач

1. Добавление пользователей, которые будут проводить ревью

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

В моем случае мы сделали поле с выбором нескольких пользователей для ревью аналитики:

Поле с несколькими проверяющими

Поле с несколькими проверяющими

Этапы добавления нового поля представлены ниже:

Добавление полей

Для этого перейдите в раздел настроек «Задачи».

Переход в меню

Переход в меню «Задачи»

ВыПерейдите в раздел «Настраиваемые поля».

Выберите

Выберите «Настраиваемые поля»

И нажмите на кнопку «Добавить пользовательское поле».

Добавление поля

Добавление поля

Можете воспользоваться поиском и найти «Выбор пользователя». Здесь стоит обратить внимание, что в разделе «Стандартные» предлагается выбор одного пользователя, в разделе «Дополнительно» вы можете найти поле с выбором нескольких пользователей.

Один пользователь

Один пользователь

Несколько пользователей

Несколько пользователей

Введите названия:

Ввод названия задачи

Ввод названия задачи

Выберите экраны, на которые хотите добавить отображение поля:

Выбор экранов, к которым требуется добавить поле

Выбор экранов, к которым требуется добавить поле

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

2. Алгоритм отметки пройденного ревью

В разработке для того, чтобы отметить, что ревью пройдено, используют пометку «Approve». В Jira нет такого функционала, но мы для этого начали использовать «Голоса»: как только задача полностью готова, ревьюер ставит голос за задачу. Задача засчитывается, когда больше 2 ревьюеров проголосовало за задачу.

Голосование за задачу

Голосование за задачу

3. Создаем фильтр для отбора задач на ревью

Для создания фильтра перейдите в раздел «Задачи» — «Поиск задач»:

Поиск задач

Поиск задач

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

Перейдите в продвинутый режим:

Переход в продвинутый режим

Переход в продвинутый режим

У вас откроется текстовое поле, в которое потребуется ввести поисковой запрос.

Пример продвинутого режима

Пример продвинутого режима

Теперь нам нужно составить запрос. Для этого вспомним с какими условиями мы работаем:

  1. задача на ревью, когда находится в статусе «Ревью»;

  2. задачу нужно показывать, пока я не проголосовал за задачу.

Поисковой запрос выглядит так:

project = CHANGE AND status = "Ревью" AND "Ревьюеры Аналитики" in (currentUser()) AND (voter NOT IN (currentUser()) OR votes = 0) ORDER BY priority DESC, updated DESC

Давайте немного его разберем:

  1. project — название проекта, в моем случае проект называется CHANGE;

  2. статус должен соответствовать статусу ревью: status = "Ревью”;

  3. в перечне ревьюеров я должен проверить, что задача стоит на мне: "Ревьюеры Аналитики" in (currentUser());

  4. затем мы должны проверить проголосовали мы или нет

    1. проверяем, что мы есть в списке проголосовавших voter not in (currentUser());

    2. если никто не проголосовал, то Jira не создает список пользователей, и из-за этого условие не выполняется. Поэтому важно добавить условие проверки, что если никто не проголосовал, то нам такая задача тоже подходит votes = 0.

  5. Дальше можно сортировать как вам потребуется. Я сортирую по приоритету и времени изменения задачи.

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

Пример выполнения задачи

Пример выполнения задачи

Затем сохраняем запрос.

Сохранение запроса

Сохранение запроса

Когда будете называть задачу, учтите, что название будет указано в теме письма.

4. Создание уведомлений

Когда вы сохраните фильтр появится кнопка «Детали». При нажатии на нее вы увидите:

«Детали» фильтра

В этом разделе вы можете настроить: доступ к вашему фильтру и «подписки». Второе нас и интересует.

Подписка представляет собой меню по настройке уведомлений:

Пример настройки

Пример настройки «Подписки»

Здесь представлены разделы:

  • Получатели — кому будут отправлены уведомления. Здесь вы можете выбрать группу пользователей, которым будет приходить рассылка. В моем случае это группа «analytics» — аналитики;

  • Расписание — в какие дни будет отправлена рассылка. Здесь я выбрал только будние дни, чтобы в выходные не присылались одинаковые письма;

  • Интервал — как часто будет приходить рассылка. В моем случае письмо интересно один раз утром перед работой.

Мои настройки:

Мои настройки

Мои настройки «Подписки»

Затем для создания подписки нажмите кнопку «Подписка».

Небольшое дополнение, если вы не знаете как создавать группы пользователей:

Создание групп пользователей

Для создание групп пользователей перейдите в настройки «Управление пользователями»

Управление пользователями

Управление пользователями

Перейдите в раздел «Группы»

Выбор раздела

Выбор раздела «Группы»

Введите название группы и нажмите кнопку «Добавить группу».

Создание группы

Создание группы

Затем найдите новую группу и выберите «Редактировать членов группы».

Редактирование группы

Редактирование группы

В открывшемся разделе добавьте нужных пользователей:

Чтобы посмотреть все подписки снова нажмите «Детали» и выберите раздел «Управление подписками»

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

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

В открывшемся окне вы увидите созданные подписки:

Список подписок

Список подписок

Здесь отдельно хочу обратить ваше внимание на кнопку «Запустить сейчас». Она позволяет протестировать сценарий до того, как наступит нужное время.

5*. Дополнительный пример запроса для руководителей и Delivery Manager

Меня как Delivery Manager интересует отслеживание задач, которые находятся на ревью, но не меняются уже больше 3 дней.

Для этого я использую такой запрос:

project = CHANGE AND status = "Ревью" AND "Ревьюеры Аналитики " in membersOf ("analytics") AND votes < 2 AND updated < startOfDay("-3") ORDER BY priority DESC, updated DESC

Давайте немного его разберем:

  1. project — название проекта, в моем случае проект называется CHANGE;

  2. статус должен соответствовать статусу ревью: status = "Ревью”;

  3. в перечне ревьюеров должны быть указаны коллеги из отдела аналитики: "Ревьюеры Аналитики" in in membersOf ("analytics");

  4. проверяем, что голосов меньше 2: votes < 2. Здесь важно учесть, что у нас принято, что если есть хотя бы 2 подтверждения, то задача считается выполненной;

  5. проверяем, что задача не изменялась за последние три дня updated < startOfDay("-3");

  6. дальше можно сортировать как вам потребуется. Я сортирую по приоритету и времени изменения задачи.

Заключение

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

Habrahabr.ru прочитано 3043 раза