Pull to refresh

Уведомление пользователей в JIRA

Reading time 3 min
Views 11K
Привет всем. Это мой первый пост на Хабре — прошу не судить строго.

Не так давно я устроился на работу. Работаю Администратором системы, которая используется в одном крупном банке. Отделы банка расположены по всей стране.

Ко мне поступают сообщения об ошибках работы, которые регистрирует JIRA bug tracker, звонят\пишут программисты, банкиры (которых перенаправит ко мне HelpDesk), отдаленные работники и тестеры.

В JIRA создано несколько workflow'ов для нескольких проектов. И всё бы было отлично. Но возникла необходимость создать новый workflow'ов, действия в котором будут выполнять в основном люди из бизнеса — т.е. продавцы банковских услуг — они же и будут конечными тестерами.

Эти люди конечно же очень заняты, они не любят когда к ним звонят Администраторы, программисты, люди с IT. Не любят, в основном потому, что они не понимают что от них хотят. И некоторые тестовые задания «висят» на них неделями.

Так что в новом workflow'е нужно было всё упростить, а также оптимизировать процесс коммуникации с «людьми из бизнеса».

Так как все задания регистрируются в JIR'е, то нужно было создать механизм, который бы оповещал тестеров, которые не предприянли никакого действия в течение 2х дней. Оповещал не очень навящиво — т.е. по 2-х днях высылал им уведомление на e-mail.

О том как это сделать в JIRA я расскажу

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

Нам же понадобилось уведомлять пользователей, если задание создано, но пользователь ничего с ним не сделал.

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

В JIRA есть свой скриптовый язык — Jelly Runner, им то я и воспользовался.

Так вот, чтобы пользователь получал уведомление по электронной почте, если он спустя 2 дня ничего не сделал с заданием нужно:
1. Создать фильтр, который будет находить задания с нужным нам статусом, например «новое», которое не меняло свой статус 2 дня.
2. Создать скрипт в Jelly Runner'e:

<JiraJelly xmlns:jira="jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib" xmlns:core="jelly:core" xmlns:log="jelly:log" >
<jira:Login username="support" password="[ваш пароль]">
    <log:warn>Запускаем сервис</log:warn>
    <!-- Свойства скрипта -->
    <core:set var="comment">Статус задания не изменился в течение 2-х дней.

И дальше текст инструкции, что должен сделать пользователь.

С уважением,

  Support Team</core:set>
    <core:set var="workflowStep" value="Mark Inactive" />
    <core:set var="workflowUser" value="support" />
    <core:set var="filter2Days" value="11202" />

    <!-- Запускает фильтр, который ищет задания -->
    <jira:RunSearchRequest filterid="${filter2Days}" var="issues" />

    <core:forEach var="issue" items="${issues}">
        <log:warn>Новое задание ${issue.key}</log:warn>
        <jira:TransitionWorkflow key="${issue.key}" user="${workflowUser}" workflowAction="${workflowStep}" comment="${comment}"/>
    </core:forEach>
</jira:Login>
</JiraJelly>


Скрипт ищет такие задания и добавляет к ним комментарий — JIRA автоматически оповещает пользователя, что добавлен комментарий к заданию.

Вот и всё решение.
Если есть какие-то ошибки, то прошу вас не ругать меня, т.к. русский использую очень редко.
Tags:
Hubs:
+5
Comments 22
Comments Comments 22

Articles