Задать вопрос

Оповещение о просроченных задачах в Redmine

Подскажите плагин, либо посоветуйте, как настроить.
Гуглю уже неделю, ничего нет
Спасибо!

Environment:
  Redmine version                          2.1.2.stable
  Ruby version                             1.8.7 (x86_64-linux)
  Rails version                            3.2.8
  Environment                              production
  Database adapter                         MySQL
Redmine plugins:
  redmine_jquery_file_upload               0.0.1
  redmine_lightbox                         0.0.1
  • Вопрос задан
  • 9925 просмотров
Подписаться 9 Оценить Комментировать
Решения вопроса 1
mpriver
@mpriver
RAILS_ENV="production" rake redmine:send_reminders days=7 users="1,2,44"

Отправит оповещения о задачах, срок которых истекает через 7 дней или раньше (в т.ч. просроченные).

Параметры:
  • days: количество дней до завершения (по умолчанию 7)
  • tracker: id трэкера (по умолчанию все)
  • project: id проекта (по умолчанию все)
  • users: список id пользователей которым необходимо прислать уведомления
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rustamxp
скрипт уведомляет постановщика, исполнителя и наблюдателей о том, что сегодня deadline по задаче.

в первом select необходимо ("1","2","4") заменить на те id, при которых задача считается незавершенной. посмотреть соответствие id и названия статуса можно в таблице бд issue_statuses.

и не забудьте изменить переменные с параметрами доступа к бд и почтовому аккаунту.

#!/bin/bash

mysql_h="db.local"
mysql_l="redmine"
mysql_p="password"
mysql_db="redmine"

mail_h="mail.local"
mail_l="mail_login"
mail_p="mail_pass"

date=`date +%Y-%m-%d`

#директория в которой лежит скрипт
cd /usr/home/scripts/redmine/
mkdir -p data
rm -rf data/*

/usr/local/bin/mysql -h$mysql_h -u$mysql_l -p$mysql_p -D$mysql_db -e \
"select id,assigned_to_id,author_id from issues where due_date='$date' and status_id in ("1","2","4")" \
| grep -v id | while read l
do
issue_id=${l% * *}
mkdir data/$issue_id
echo 'redmine.local/issues/'$issue_id'' > data/$issue_id/body.html

assigned_to_id=${l% *}
assigned_to_id=${assigned_to_id#* }
echo $assigned_to_id >> data/$issue_id/id_list.txt

author_id=${l#* * }
echo $author_id >> data/$issue_id/id_list.txt

/usr/local/bin/mysql -h$mysql_h -u$mysql_l -p$mysql_p -D$mysql_db -e \
"select user_id from watchers where watchable_id='$issue_id'" \
| grep -v user_id | while read m
do
echo $m >> data/$issue_id/id_list.txt
done

cat data/$issue_id/id_list.txt | sort | uniq | while read n
do
let i++
if [ $i -eq 1 ]
then x=\"$n\"
else x=$x,\"$n\"
fi
echo $x > data/$issue_id/id_tmp.txt
done

/usr/local/bin/mysql -h$mysql_h -u$mysql_l -p$mysql_p -D$mysql_db -e \
"select mail from users where id in (`cat data/$issue_id/id_tmp.txt`)" \
| while read mail
do
if [ "$mail" != "mail" ]
then
/usr/local/bin/smtp-cli \
--missing-modules-ok --server=$mail_h --port=465 --ipv4 --ssl \
--user=$mail_l --pass=$mail_p --from="Redmine <$mail_l>" \
--to "$mail" --subject="Redmine DEADLINE Issue $issue_id" \
--body-html=data/$issue_id/body.html
fi
done
done
Ответ написан
Sl1mShady
@Sl1mShady Автор вопроса
Эх, так я делал, просто задача стоит отправлять уведомления исключительно о просроченных задачах. Чтобы было видно, что это именно просроченные, т.е. как-то их выделять. Желательно плагином и желательно бесплатно. Не будет такого варианта — оставлю этот, спасибо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы