Перейти к содержимому

Фотография

Автоматическая рассылка e-mail


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 FruIT

FruIT

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Serge M.
  • Город:PL

Отправлено 24 июля 2009 - 06:47

Добрый день.
Недавно создал новый workflow для проекта. Появилась потребность рассылки e-mail, для тех, кто подписаны к данному заданию :)
1. Выставляем задание, проходит 2 дня, а человек, которого мы подписали под это задание не отвечает, и ничего с этим не делает, так вот, после 2х дней без перехода на след. статус этого человека надо уведомить, чтобы он что-то предпринял.
2. Похожая ситуация, можно сказать идентичная - только проходит 7й дней без перехода на след. статус и тоже надо всем об этом рассказать.

Только вот как это сделать? :unknw:
  • 0

#2 FruIT

FruIT

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Serge M.
  • Город:PL

Отправлено 27 июля 2009 - 07:36

никто не знает как?
  • 0

#3 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 27 июля 2009 - 11:11

Добрый день.
Недавно создал новый workflow для проекта. Появилась потребность рассылки e-mail, для тех, кто подписаны к данному заданию :)
1. Выставляем задание, проходит 2 дня, а человек, которого мы подписали под это задание не отвечает, и ничего с этим не делает, так вот, после 2х дней без перехода на след. статус этого человека надо уведомить, чтобы он что-то предпринял.
2. Похожая ситуация, можно сказать идентичная - только проходит 7й дней без перехода на след. статус и тоже надо всем об этом рассказать.

Только вот как это сделать? :blush:

Добрый день!
Начнем с того, что с jira я не работал, и не могу знать умеет она делать то, что вы хотите или нет.
Но как всегда есть workaround. У нас наш трэкер тоже не позволяет делать такие рассылки, но задача решена таким вот образом:
1. Написан внешний скрипт который делает следующее
1.1. По одному из возможных внешних интерфейсов доступается к трэкеру и запускает заданный запрос. (Для конкретики, пусть это будет список всех незаверифицированых багов по разным проектам относительно к конкретному инженеру). Например, доступ осуществлятся через Web-интерфейс с помощью командлайновой утилиты wget
1.2. Теперь у нас есть результат запроса в виде файла на диске. Далее скрипт пробегает по этому файлу и парсит его, коллекционируя информацию в виде , ну скажем хэша, где ключ - это имя инженера (у нас имя=email), а значение - список номеров дефектов и их сабж (можно туда еще данных добавить, типа приоритет и тд).
1.3. Далее, скрипт пробегается по списку пользователей и каждому, с помощью командлайновой утилиты mailx отсылает письмо со списком его незаверифицированных дефектов.
2. С помощью cron-a, скрипт запускается раз в определнное время.

Аналогичные репорты раз в неделю присылаются на всю группу, а не персонально.
Думаю идея понятна.

PS: для примера сейчас зашел на jira трэкер используемый одной фирмой и доступный для поиска извне. Составил запрос - показать все critical баги, которые не апдейтились неделю и выбрал printable версию. Заняло 1 минуту. Написать скрипт, который это дело распарсит - еще пара часов, ну день.
  • 0
Regards,
Alexey

#4 FruIT

FruIT

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Serge M.
  • Город:PL

Отправлено 27 июля 2009 - 15:06

LeshaL,
большое спасибо Вам за ответ. Идея понятна, но для ее работы необходимо использовать слишком много инструментов.

Я посидел на форуме atlassian'a - фирмы, которая создала джиру. И решил вопрос.
В Jira есть такая инетерсная вещь, как Jelly Runner - с помощью него можно запускать скрипы, написанные на Jelly тагах. + Сервисы, которые можно создавать.
Решение моей проблемы оказалось довольно простым.
1. Создаем фильтр в JIRА, который будет искать все задания со статусом, допустим "новое", которые были созданы 2 дня назад.
2. Также в JIRA создаем сервис, который будет запускать наш скрипт Jelly Runner в определенное время (можно установить интервал в секундах).
2.1 В скрипте указываем, что в каждое задание из списка, выданного фильтром добавить комментарий (либо поменять статус задания на другой).
3. Вот и всё - Фильтр обновляется через заданный промежуток времяни, сервис запускает скрипт, скрипт выставляет комментарии, JIRA отправляет комментарии пользователю :)

Вот пример такого скрипта:

<JiraJelly xmlns:jira="jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib" xmlns:core="jelly:core" xmlns:log="jelly:log" >
<jira:Login username="atlassiansupport" password="[your password]">
	<log:warn>Running Inactivate issues service</log:warn>
	<!-- Properties for the script -->
	<core:set var="comment">This issue has not been updated for 5 business days.

If you have an update, please use "Add Comments For Atlassian" action to let us know. If you need more time to gather information please let us know and we will 'freeze' this issue. If you have no other questions, please Close this issue.

If no update is received in the next 5 business days, this issue will be automatically closed.

Thank you,

  The Atlassian Support Team</core:set>
	<core:set var="workflowStep" value="Mark Inactive" />
	<core:set var="workflowUser" value="atlassiansupport" />
	<core:set var="filter7Days" value="11505" />

	<!-- Run the SearchRequestFilter -->
	<jira:RunSearchRequest filterid="${filter7Days}" var="issues" />

	<core:forEach var="issue" items="${issues}">
		<log:warn>Inactivating issue ${issue.key}</log:warn>
		<jira:TransitionWorkflow key="${issue.key}" user="${workflowUser}" workflowAction="${workflowStep}" comment="${comment}"/>
	</core:forEach>
</jira:Login>
</JiraJelly>

и еще на всякий случай пример, также на Jelly Runner'e как высылать с помощью него письма определенному юзеру:

<JiraJelly xmlns:jira="jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib" xmlns:core="jelly:core" xmlns:email="jelly:email" xmlns:log="jelly:log">
<core:set var="emailMsg">Please be notified by this em mail from me!!
Thank you
Admin
</core:set>
<email:email to="test@test.com" from="JIRA-support@test.com" subject="escalation" server ="your_mail_server_here"
message="${emailMsg}"/>

Спасибо всем за внимание.
  • 0

#5 dima_u

dima_u

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Дмитрий

Отправлено 10 августа 2009 - 13:20

Пытаюсь разобраться с примером... плохо получается :(

Правильно ли я понимаю ситуацию, что если

2.1 В скрипте указываем, что в каждое задание из списка, выданного фильтром добавить комментарий (либо поменять статус задания на другой).

то в случае повторного "нереагирования" мы не получим повторного уведомления?

А строчка

<core:set var="filter7Days" value="11505" />

инициализирует переменную внутренним id фильтра?
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных