пятница, 16 марта 2018 г.

Эволюция фильтра проектов в джире

У нас в JIRA есть основной проект (назовем его ALFA) и проекты под каждого Заказчика.
Но мы же не единственная команда, которая использует джиру, так что реально проектов еще больше. Свои надо фильтровать.

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

project = ALFA OR project = BETA OR project = GAMMA

Полный запрос:

(project = ALFA OR project = BETA OR project = GAMMA) AND fixVersion = Backlog AND resolution = Unresolved 

Потом количество проектов росло, а оптимизировать запрос было некогда, да и зачем? Новый проект подключается редко, настраивается за одну минуту: редактируешь запрос, копипастой вставляешь новое название и вуаля!

Но потом запрос стал выглядеть как-то так:

(project = ALFA OR project = BETA OR project = GAMMA OR project = Котики OR project = Почемучка OR project = "Что бы еще придумать" OR project = Уточки OR project = Инстинкт OR project = Первый OR project = "Ну и хватит") AND fixVersion = Backlog AND resolution = Unresolved 

Это уже нечитаемо! Тут подумали про синтаксис. Можно же вынести общее (слово project) за скобку:

project in (ALFA,  BETA, GAMMA, Котики, Почемучка, "Что бы еще придумать", Уточки, Инстинкт, Первый, "Ну и хватит" ) AND resolution = Unresolved AND fixVersion = Backlog 

Вот, так уже лучше.

Хотя на самом деле проблема все равно остается: фильтров несколько (backlog, текущий релиз открытые / в тестировании, следующий релиз открытые / в тестировании). При добавлении нового заказчика надо пробежаться по пяти фильтрам и везде добавить новичка. Неудобненько... Да, потребность редкая, но все равно...

А ведь у всех проектов указана категория ALFA. Это нужно для наших плагинчиков. Так почему бы не использовать категорию в запросе? Сносим все названия проектов, оставляем только категорию. Новый запрос:

category = ALFA AND resolution = Unresolved AND fixVersion = Backlog

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

Напоминает стандартный процесс разработки: сделал, все хорошо. Потом логика усложняется, появляется копипаста. Замечаешь копипасту, рефакторишь, упрощаешь. После первого узкого горлышка возникает второе, снова рефакторишь... И так по кругу бесконечного улучшения =)

Комментариев нет:

Отправить комментарий