У пользователей 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 сделает это за вас.


Это лишь один из множества вариантов, как можно упростить себе жизнь, автоматизировав рутинные дела.

Если в вашей работе часто встречается какой-то затык, "больное место", или вы просто тратите неимоверное количество времени на рутину, приходите к нам в поддержку. Мы поможем найти выход.