Привет! У нас в Спортмастере очень большая экспертиза в части работы с инструментами JIRA. Про доски, спринты и все прочее все наверняка знают и часто применяют. Мы хотим рассказать о других интересных плагинах, которые мы используем в рамках управления продуктом, начнем с JIRA Structure.
Зачем это нужно?
Structure — плагин для Jira, позволяющий гибко настраивать и управлять Jira-задачами любого типа.
Основные возможности:
Настраивать отображение задач в виде иерархии, с любой глубиной вложений, группировкой, сортировкой и прочим.
"На лету" редактировать поля задачи.
Отображать любые поля задач и кастомизировать их.
Визуализировать в различных режимах.
Экспортировать структуру в excel/pdf или диаграмму Ганта в pdf/svg.
С чего начать? Создаём структуру!
Создаём новую структуру
Заходим в Jira, в верхнем меню выбираем "Структура" → "Создать структуру"
-
Далее в мастере создания структуры выбираем и вводим данные.
Выбираем пустую структуру (либо взять готовый шаблон)
Вводим название и уровень доступа и нажимаем "Создать".
В результате получаем пустую таблицу с базовым набором трансформаторов.
Profit!Теперь нужно заполнить структуру.
Разбираем интерфейс
Панель инструментов:
-
Базовые действия с задачами в структуре:
Ручное добавление задач;
Сворачивание и разворачивание сгруппированных элементов структуры;
Перемещение между собой;
Копирование, вырезание, вставка, удаление;
Автоматическое добавление задач.
Экспорт и настройка раскладки (Раскладка и представление) - две таблицы, гант, ресурсы.
Управление доступом, выбор других структур.
Трансформаторы, поиск, виды (ассоциированные или базовые).
Поля структуры.
Управление трансформаторами.
Настройка доступов
По умолчанию доступ к структуре закрыт. Чтобы настроить его, нужно:
В левом верхнем углу нажать на название структуры.
Выбрать "Управление структурой".
Дальше в списке выбрать свою структуру и нажать "Изменить".
Настроить уровни доступа.
Она пустая! Что делать? Заполнить
Заполнить структуру можно двумя основными способами.
Вручную - там можно чётко контролировать попадание задач в структуру.
Автоматически (например, по JQL-запросу) - вариант для автопополнения структуры задачами по условиям.
Добавление задач вручную
Вот как добавить задачи вручную:
В правой части нажимаем на три точки и выбираем "Две таблицы".
После этого экран разделится на две части, и в правой части будет доступно поле для ввода JQL-запроса.
Вводим запрос и получаем результат, из которого выбираем те задачи, которые будут участвовать в структуре
-
Выбор производим:
По одному, выбрав круглый чекбокс слева от задачи;
Пачками, используя shift;
Все задачи из запроса, используя ctrl+a.
Зажатием 8 точек слева от чекбоксов с помощью drag and drop переносим задачи в левое окно, где находится структура.
Из структуры таким же способом можно выбрать и убрать лишние задачи (крестик сверху или delete)
После завершения переноса можно вернуть обратно вид "Одна таблица".
Автоматическое добавление задач
Наиболее удобный способ заполнять структуру, с помощью автоматизации.
В верхней панели инструментов нажимаем "Автоматизация" → "+" → "Вставить".
-
Из списка выбираем наиболее подходящий способ:
JQL-запрос;
Доска.
В результате получаем все задачи из JQL-запроса или доски. Все новые задачи по этому запросу будут автоматически добавляться в структуру.
Получился Excel? Настраиваем структуру
В полученной таблице (структуре) можно добавить любое поле, растягивать его, сортировать и быстро его изменять.
Для добавления, в правом верхнем углу таблицы нажимаем "+" и ищем / выбираем нужные поля.
-
Для настройки нужно нажать на стрелку в углу нужного поля (содержимое настроек отличается от типа поля), где:
Переименовать;
Донастроить отображение.
Удалить;
Наиболее удобные поля для меня:
Тема - Видеть название, чтобы понять о чём задача;
Статус - Видеть текущий статус;
User Priority – Приоритет задач;
Комментарий - Видеть последний комментарий (Например, актуальный статус);
Компоненты (на время настройки, описано в разделе трансформирования);
Метки (на время настройки, описано в разделе трансформирования);
Start Date - Видеть и изменять;
End Date - Видеть и изменять на год вперёд;
Кастомные поля (Описано в соответствующем разделе статьи).
Удобно же.
В структуре можно производить стандартные действия с задачей по нажатию на три точки в конце каждой задачи. Например, добавлять новый комментарий.
-
Также можно изменять значения почти любого поля, не проваливаясь в каждую задачу. Для этого двойным кликом нажимаем на нужное поле задачи и вводим/выбираем значение.
Всё ещё Excel! Трансформируем структуру
К структуре можно применить "трансформаторы". Это основной инструмент, структурирующий список задач. Трансформаторы удобны тем, что их можно включить, выключить, отсортировать, преобразовать в быстрые и всё это делается в два клика, что позволяет быстро управлять видом структуры.
Какие бывают типы трансформаторов?
Каждый тип трансформации имеет соответствующую иконку, это позволяет ориентироваться в настроенных трансформациях.
Иконка |
Тип трансформатора |
Описание |
Комментарии, применения |
Filter - Отфильтровать |
Позволяет по атрибуту спрятать лишние задачи |
||
Sort - Отсортировать |
Позволяет по атрибуту изменить порядок задач |
При добавлении двух и более трансформаций, возможно реализовать вложенные сортировки: сначала по одному атрибуту, а внутри по другому атрибуту. Примеры далее. |
|
Group - Сгруппировать |
Позволяет объединить задачи по Jira полю |
При добавлении двух и более трансформаций, возможно реализовать вложенные группировки: сначала по одному атрибуту, а внутри по другому атрибуту. Примеры далее. |
|
Extend - Дополнить |
Позволяет добавить задачи из других проектов |
Для проявления задач из других проектов, например проявить вложенные задачи, связанные задачи (смежные, ОМНИ), подзадачи, задачами и иметь быстрый доступ к ним. |
Создаём свои трансформации
Добавление трансформатора "Отфильтровать"
В правом верхнем углу выбираем иконку "Трансформация".
Ниже выбираем "Добавить трансформацию" и в выпадающем списке выбираем тип трансформатора.
Затем выбираем условия и задаём их.
Для примера выбираем первый тип "Отфильтровать".
Выбираем "JQL-запрос".
Вводим JQL-запрос, например:
Фильтрация по статусу (не открыт)
status not in (Открыт, Закрыт).
И видим, что все задачи в структуре отфильтрованы по JQL запросу (Исчезли задачи в статусе "Открыт" и "Закрыт").
Добавление трансформатора "Сгруппировать"
Добавим ещё один трансформатор "Сгруппировать".
Группировка происходит по любому Jira-полю.
В результате видим отфильтрованные и сгруппированные задачи, по полю "Компонент". В верхней панели видно два созданных и применённых трансформатора.
Добавление обычного трансформатора "Дополнить"
Показываем задачи в эпике.
Выбираем тип трансформатора "Дополнить" .
Выбираем "Под всеми".
В результате видим все задачи из другого проекта, которые относятся к этому эпику (речь про задачи с этим EpicLink).
Показываем связанные задачи с определённым типом связи
Аналогичное дополнение можно использовать для отображения связанных задач, например is contained in (актуально для ОМНИ эпиков).
Выбираем "Дополнить" → "Связанные задачи".
Указываем тип связи Contains и направление "is contained in".
Видим связанную задачу к эпику.
Преобразование трансформатора в быстрый
Любой трансформатор можно преобразовать в быстрый, с понятным названием. Это необходимо для быстрого управления, доступа, комбинированию и т.п.
Вот как это сделать:
При создании нового или при наличии существующего выбрать трансформатор и сохранить его.
Ввести название.
В верхней панели выбрать иконку быстрых трансформаций и найти созданную трансформацию.
Можно её нажать, тем самым применив к структуре.
В строке трансформаторов "Быстрые" трансформаторы с закруглёнными краями, и их всегда можно найти в списке быстрых трансформаций и оттуда же включить или выключить.
Предыдущую простую трансформацию "Отфильтровать" с JQL-запросом можно удалить, нажав на крестик.
Таким образом можно включать или отключать быстрые трансформаторы, менять их последовательность применения, добавлять новые трансформаторы. Это позволяет гибко перегруппировывать задачи, делать вложенные группировки, сортировки и т.п.
Примеры комбинации трансформаторов
Пример использования разной последовательности одних и тех же трансформаторов типа "Группировка" "По статусу" и "По исполнителю". Аналогичные перераспределения можно делать с любым типом трансформатора.
В данном случае, задачи сначала сгруппированы по статусу, а внутри статуса по исполнителю |
Здесь отображён разрез исполнителя, а внутри исполнителя задачи сгруппированы по статусу |
Пример вложенной сортировки сначала по "Исполнителю", а затем по "Компоненту"
-
Ещё один пример, где я трансформатором "Группировка" разделил направления, а внутри разделы моего продукта:
Первая группировка по "Компоненту", а внутри по "Меткам". По этой причине эти поля больше не требуется видеть в таблице, но они могут понадобиться для быстрого заполнения, если появилось много "пустых" задач.
Сохранение вида
Обязательно нужно сохранять настроенные поля, трансформаторы и другие настройки для вашей структуры, чтобы этот вид был доступен всем по ссылке.
Для этого, нажимаем на кнопку выбора вида и нажимаем "Сохр. как...". Вводим название и сохраняем. Теперь настройки не потеряются.
Красивое! Продаёте? Нет, только добавляем раскладки
В структуре возможные различные отображения, кроме структурированного списка трансформаторами.
Самое актуальное для меня - диаграмма Ганта.
Чтобы включить эту раскладку нужно:
Нажать на три точки в правом верхнем углу.
Выбрать Gantt Chart.
Заполнить базовые настройки и нажать "Create Gantt chart".
-
В правой части экрана появится диаграмма Ганта.
-
В верхней панели доступны кнопки:
Настройки - настройки, которые производили при создании диаграммы;
Песочница - позволяет "поиграться" с различными версиями планирования;
Today - быстрый переход по графику на "сегодня";
Увеличение/уменьшение и быстрые настройки шага графика.
-
-
Двигая элементы можно:
Интерактивно двигать задачи по графику, тем самым автоматически сдвигая Start date / End date;
Двигать начало или конец работ по задаче, также автоматически меняя Start date / End date.
Финал! Кастомизируем
По различным условиям можно добавлять кастомные поля и программировать их.
Условия работают на основе полей задач.
Добавление кастомного поля в структуру
Сначала в структуру нужно добавить новое поле с типом "Формула":
В правом верхнем углу таблицы нажать плюс.
Ввести "Формула" и выбрать поле.
Указать название поля и проверить, что тип "Формула" и отображение выбрано Wiki-разметка.
-
В текстовом поле вводить код с условиями.
Для удобства можно развернуть поле во весь экран, нажав "Полный экран".
Особенности синтаксиса
Синтаксис:
Оператор, открывающая скобка, условие, точка с запятой, результат, точка с запятой, закрывающая скобка. В последней строке с условием, или в единственной строке в конце точки запятой не требуется (перед закрывающей скобкой).
Используемые операторы: AND, CONCAT, ELSE, IF, NOT, OR, UNDEFINED, WITH
IF (
(условие 1) ;"результат 1" ;
(условие 2); "результат 2" ←в последней строке ";" не требуется
)
Подробнее про синтаксис в wiki
Примеры:
Примеры кастомных полей.
Два примера с программированием и один пример с прогрессом:
Добавляем значение поля со своим лэйблом по заданному условию.
Если на эпике установлен флаг, то в поле красным цветом подсвечивается надпись "Заблокировано".
Простой пример с названием:
if (
( (flagged = "Impediment") ); "{panel}{color:red}Заблокировано{color}{panel}"
)
Добавляем проверки на Start Date / End Date (пример был взят из чьей-то структуры в СМ):
В этом примере проверяется несколько условий и в зависимости от результатов отображаются разные символьные подсказки:
Если эпик не закрыт и не отложен и end date указан и просрочен (= сегодня), то отображается крестик.
Если эпик открыт и Start date указан и просрочен, то отображается восклицательный знак.
Если эпик не закрыт и не отложен и не указан start date/ end date, то отображается соответствующая надпись S (start) или E (end).
Проверка дат:
if(
( (status != "Закрыт" AND status != "Отложен") AND (EndDate > 0) AND (EndDate-TODAY() < 0) ); "(x)"; //Если эпик не закрыт и не отложен и end date указан и просрочен (= сегодня), то отображается (Х)
( (status = "Открыт") AND (StartDate > 0) AND (StartDate-TODAY() < 0) ); "(!)"; //Если эпик открыт и Start date указан и просрочен, то отображается (!).
( (status != "Закрыт" AND status != "Отложен") AND EndDate = null AND StartDate = null AND issuetype != null); "{panel}{color:red}S{color}{panel}{panel}{color:red}E{color}{panel}" //Если эпик не закрыт и не отложен и не указан start date/ end date, то отображается S или E. Тут точки с запятой нет (!).
)
Визуализируем прогресс по каждой задаче
Другой тип поля - прогресс, позволяет визуализировать прогресс на основе затраченного времени, статуса, пользовательского поля и прочее.
В данном случае я проставил % выполнения в зависимости от движения эпика по статусу, где на допоток выделяется меньше ёмкости, чем на статус в потоке, на который выделено 30% прогресса.
Ищем поле "Формула";
Вводим название поля;
Выбираем Тип "Прогресс";
Выбираем На основе "Статус";
Прописываем % под необходимые статус (Можно не использовать все статусы);
В результате получаем зелёный прогресс-бар.
Другие примеры с использованием Wiki-разметки.
Это всё?
Почти. Есть ещё ряд возможностей, которые я ещё не успел детально разобрать, может быть, напишу о них в следующий раз, а пока можно почитать детали в WIKI.
Джалсанов Роман
лидер продукта «Client Service Manager»