Redmine Reminders
Notifications静かに滞っているチケットに、手動・予約・ルールの三通りでリマインドを送ります。チケット画面から、保存済みクエリから、あるいは管理コンソールから、いま使っているメール設定のまま送信します。
複数サーバー: $399

- リマインドの種類
- 3
- 宛先モード
- 4
- スケジュール
- 日次 · 週次 · 月次
- 権限
- 4、プロジェクトごと
- データの外部送信
- なし
担当者にいますぐ知らせる
チケット画面のボタンひとつ。担当者を割り出し、いなければ作成者、さらに管理者へとたどり、画面が再読み込みされる前にメールは送信されています。
誰かに後日知らせる
宛先・日付・メモを選ぶと、リマインドはその日まで待機します。その日を迎える前にチケットが終了していれば、送信ではなくスキップとして記録されます。
保存済みクエリに対するルール
任意のチケットクエリにルールを付けられます。毎日、毎週の指定曜日、毎月の指定日付を、決まった時刻に。結果に含まれる未終了チケットが対象で、ルールの実行は一日一回までです。
件数だけを送る
ひとつのルールを複数のクエリに向け、チケットの一覧ではなく数字を送れます。規模だけ把握したいリーダーのための、常設の定点観測です。
同じ人を二度催促しない
終了したチケット、無効化されたモジュール、ロックされたアカウントは送信の直前に除外され、宛先も重複を排除してから一通目が送られます。
プロジェクトごとに 4 つの権限
閲覧・管理・送信・統計閲覧をロール単位で付与し、その上にプロジェクトモジュールごと無効にできる仕組みがあります。送信もスキップも、すべて活動ログに残ります。
ワンクリック、ある日付、あるいはひとつのルール
どのリマインドも、保存・配信・記録のされ方は同じです。違うのは、いつ送るかを誰が決めるかだけ。あなたが今すぐ決めるか、先の日付を決めるか、保存済みクエリを見張るルールに任せるかです。
手動 — 担当者にいますぐ知らせる
チケット画面のボタンひとつ。担当者を割り出し、誰も割り当てられていなければ作成者、最後は管理者へとたどり、画面が再読み込みされる前にメールは送信されています。
予約 — 誰かに後日知らせる
宛先・日付・メモを選ぶと、リマインドは待機します。その日を迎える前にチケットが終了していれば、送信されずに静かにスキップとして記録されます。メモが指していた仕事は、もう仕事ではないからです。
自動 — 保存済みクエリに対するルール
任意のチケットクエリにルールを付けられます。毎日、毎週の指定曜日、毎月の指定日付を、決まった時刻に。結果に含まれる未終了チケットが対象で、ルールが動くのは一日一回までです。
すでに運用しているクエリが、そのままルールになる
第二のフィルタ言語はありません。ルールが指すのは保存済みのチケットクエリ — 期限超過、三日間未割り当て、動きの止まったサポート案件 — なので、「滞っている」の定義はチームがすでに手入れしている場所に残ります。クエリを直せば、その上に建てたルールはすべて追随します。
すでにお使いの 3 か所だけに現れます
このプラグインが手を入れるのは、チケット画面・プロジェクト・管理コンソールの 3 か所だけです。以下の画面はいずれも Redmine 6 上で Redmine Reminders 1.0.0 を動かしたものです。
チケット上
view_issues_show_description_bottom · 履歴タブ

プロジェクト内
設定 › リマインド · プロジェクトメニュー



管理コンソール内
管理 › Redmine Reminders


すでに抱えている待ち行列のために
リマインドは保存済みクエリを読み、権限を尊重し、自分がしたことをすべて専用の活動ログに書き込みます。
| 観点 | できること | 動き方 |
|---|---|---|
| 誰に | 担当者、作成者、ウォッチャー、または指定した一覧 | ルールごとに宛先を選びます。無効なユーザーとメールアドレスのないユーザーは、何かが送られる前に除外されます。 |
| いつ | 毎日・毎週・毎月の HH:MM | 週次ルールは曜日を、月次ルールは日付を選びます。開始日と終了日が全体の期間を区切ります。 |
| 要約 | 件数だけを送る | ひとつのルールを複数のクエリに向け、チケットではなく数字を送ります。リーダーのための常設の定点観測です。 |
| 安全弁 | 終了したチケットは催促されない | 終了したチケット、無効化されたプロジェクトモジュール、ロックされたアカウントは、予約時ではなく送信時に除外されます。 |
| 証跡 | 完全な活動ログ | 作成・送信・スキップ・ルール実行の開始・ルール実行の終了。いずれも実際に送られた件名と本文つきで残ります。 |
| アクセス | プロジェクトごとに 4 つの権限 | 閲覧・管理・送信・統計閲覧をロール単位で付与し、その上にモジュールごと無効にできる仕組みがあります。 |
cron がひとつ刻めば、メールがひとつ出ていく
4 つのステップは、すべてご自身の Redmine の中で完結します。サーバーから出ていくのは、そのインスタンスが元々送っているメールだけです。
| ステップ | 起きること |
|---|---|
| 1. cron が刻む | crontab の一行が rake redmine_reminders:queue を実行し、バックグラウンドジョブを積みます。ワーカーが動いていない構成なら、同期実行の :run タスクが同じ処理をその場で行います。 |
| 2. ルールが自分に問う | 有効なルールが自分の番かどうかを判定します。期間の内側にあるか、今日の曜日や日付に合うか、指定時刻を過ぎたか、今日まだ動いていないか。 |
| 3. 宛先を解決する | クエリが走り、終了したチケットが落ち、宛先は実在する有効でメールの届くユーザーに展開されます。重複はまとめられ、同じ催促を二度受け取る人はいません。 |
| 4. 送信し、記録する | 配信は Redmine 自身のメーラーを通るため、SMTP 設定もチケットメールのヘッダーもそのまま引き継ぎます。送信も — そしてスキップも — 件名と本文つきでリマインドの活動ログに書き込まれます。 |
受信箱に届くもの
プロジェクトとチケット番号を含む件名 — [Support — #4821] Redmine Reminder: SSO login fails on Safari — と、そのチケットへ直接戻れるリンク、そしてリマインドを設定した人が書いたメモを引用した本文です。使うのはご自身のインスタンスのメーラー、SMTP 設定、差出人アドレスであり、プラグインが独自の配信経路を持ち込むことはありません。
同じ人を二度催促しない
リマインドのプラグインは、送らずに済ませたものでこそ評価されます。実行時刻を迎えたルールと受信箱のあいだには、4 つの確認があります。
予約時ではなく、送信時に絞り込む
終了したチケット、モジュールを切ったプロジェクト、ロックされたアカウントは、メールが出ようとするその瞬間に再確認されます。1 時間前に解決した案件は、すでにその回の対象から外れています。
実在してメールの届く相手だけ
宛先は実際のアカウントに展開され、そこから無効なユーザーとメールアドレスのないユーザーが落ちます。半数が退職したウォッチャーのグループでも、残る半数にはきちんと届きます。
ルールごとに一日一回まで
今日すでに動いたルールは、cron が何度刻もうと再び動きません。1 回の実行の中では宛先の重複がまとめられ、該当チケット 3 件に名前がある人にも、メッセージは 1 通だけ届きます。
スキップも記録に残る
先に終了したチケットへの予約リマインドは、理由つきでスキップとして記録されます。活動ログは「誰が催促されたか」と同じくらい明確に、「なぜ誰も催促されなかったか」にも答えます。
一斉通知、ボトルネック、そして証跡
管理コンソールが加えるのは、すべてのプロジェクトをまとめて見るときにだけ意味を持つ 3 つの機能です。
必要な全員へ一斉に
件名と本文を書き、宛先と期間を選べば、ルールを実行しているのと同じスケジューラが配信します。別のメール配信ツールは要らず、あとに残るのも同じ活動ログです。
詰まりの原因になっているアカウントを見つける
ロックされたアカウントに割り当てられた、あるいはそれが作成した未終了チケットをルールが監視し、割り当て直すべき相手に一覧を送ります。退職が静かな滞留になることがなくなります。
名前まで示す統計
選んだ期間の、人ごとの手動・自動の件数。各ユーザーが実際に受け取った件名と本文までドリルダウンできます。「聞いていない」と言われたときに役立ちます。
| 権限 | できること |
|---|---|
| リマインドの閲覧 | プロジェクトのチケットに紐づくリマインドとルールを見る |
| リマインドの管理 | プロジェクトの保存済みクエリに置いたルールを作成・編集・一時停止・削除する |
| リマインドの送信 | チケットの手動ボタンを使い、後日のリマインドを予約する |
| 統計の閲覧 | 人ごとの件数と、その裏側の活動ログを開く |
3 ステップで導入
シェルアクセスと rake タスクを実行できる権限が必要です。プラグインを導入する前に必ずバックアップを取ってください。
cd /path/to/redmine # the package arrives by email, or from your download link unzip redmine_reminders-1.0.0.zip -d plugins/ bundle install
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=redmine_reminders touch tmp/restart.txt # or systemctl restart redmine
# every minute: enqueue due rules and scheduled reminders * * * * * cd /path/to/redmine && RAILS_ENV=production \ bundle exec rake redmine_reminders:queue >> log/redmine_reminders_cron.log 2>&1 # no ActiveJob worker? use the synchronous task instead # bundle exec rake redmine_reminders:run