У пользователей Jira, особенно у тех, кто так или иначе имеет отношение к службе поддержки пользователей, есть проблема - немыслимое количество повторяющихся запросов. Очень часто клиенты жалуются на одну и ту же проблему, например, нестабильное соединение, из-за чего плодятся задачи с одинаковыми параметрами.
Как можно отследить эти задачи-дубликаты?
У Jira есть очень полезное расширение – Automation. Оно позволяет автоматизировать многие рутинные процессы с помощью создания правил для обработки необходимых сценариев.
В библиотеке Automation Cloud есть готовое правило с заманчивым названием Close duplicate issues, но, если заглянуть внутрь, станет понятно, что это правило всего лишь закрывает задачу, у которой тип связи Duplicate. Сам факт определения дубликатов при этом остается за кадром.
Пойдём другим путём. Как можно найти дубликаты в Jira?
Можно использовать JQL-запрос, в котором задать параметры-маркеры и значения, для которых ищутся дубликаты, по типу:
Project = DEV AND client = Barry AND problem = “Unstable connection”
Но проблема в том, что заранее неизвестно, какими будут значения полей в новой задаче.
Этот момент можно решить с помощью smart values ( подробнее об этом читайте здесь - https://support.atlassian.com/jira-software-cloud/docs/what-are-smart-values/).
Они помогут настроить поиск дубликатов по JQL с помощью Automation. Используя smart values можно искать задачи, в которых значения полей совпадают со значениями в текущей задаче, при этом сами значения могут быть любыми, нет нужды их знать заранее.
Единственное, что нужно помнить: если в значении поля могут содержаться символы, требующие помещения в кавычки в jql-запросе (например, пробел или запятая), значение Smart value также помещают в кавычки.
Пример настройки:
Рассмотрим случай, когда нам требуется проверять каждый новый запрос на дублирование с полным совпадением по полям Problem и Client (клиент повторно жалуется на ту же проблему).
В случае, если такие задачи найдутся, Jira должна привязать их к текущей с типом связи Duplicate.
Удобнее искать дубликаты по полям, в которых значение выбирается из заданного списка. Даже при наличии небольшого расхождения в значении, которое может возникнуть при использовании текстового поля, Jira может "не узнать" дубликат.
Выбираем триггер
Определите, в какой момент будет происходить проверка. В нашем примере это создание задачи.
Определяем условия задач-дубликатов
New component → Branch rule/related issues
В этом месте должны быть определены условия, по которым Jira будет понимать, нужно или нет применять это правило к конкретной задаче.
В нашем случае поиск будет идти по jql, в котором как раз заменим конкретное значение полей на smart values. Когда указываем значение каждого поля, необходимо использовать синтаксис типа:
{{triggerissue.customfield_10034}}
что можно прочитать как "значение поля с id 10034 из задачи, которая явилась триггером к запуску правила".
Обратите внимание на то, что синтаксис для получения значения зависит от типа поля. На примере выше запрос на получение значения текстового поля.
Если в вашем случае используется другой тип поля, уточните его синтаксис здесь - https://support.atlassian.com/jira-software-cloud/docs/what-are-smart-values/
Поиск по всем задачам может занять длительное время.
Чтобы сократить время на обработку, ужесточите условия. Например, в примере выше сверка идет только с задачами, созданными за последние 3 дня.
Добавляем действие для найденных дубликатов
New Action → Link issues
В примере мы хотим, чтобы найденные дубликаты были автоматически связаны с новой задачей.
Для этого используем действие Link issues и при выборе типа связи учитываем, что поскольку действие применяется к "старым" задачам, именно новая должна быть отмечена как дублирующая, а значит, для проверенных выбираем направление связи is duplicated by.
Всё! Отныне можно забыть о том, что нужно вручную искать и проверять повторяющиеся задачи, Jira сделает это за вас.
Это лишь один из множества вариантов, как можно упростить себе жизнь, автоматизировав рутинные дела.
Если в вашей работе часто встречается какой-то затык, "больное место", или вы просто тратите неимоверное количество времени на рутину, приходите к нам в поддержку. Мы поможем найти выход.