概要

redmineには期日が間近であるか、過ぎてしまったチケット一覧をメールで通知することができることを確認しました。

そこで、

  • 自動的にリマインダーメールを送付する

設定をサーバ自身に施します。

動作確認環境

  • Ubuntu 20.04
  • Redmine 4.2

前提

既にredmineでのメール設定は終わっているものとします。(ここではGmailと連携させました)

参考記事

期日が間近のチケットをメールで通知する(リマインダ機能)

https://redmine.jp/faq/issue/send_reminders/

手順

全て管理者権限で実行しています。

スクリプト作成

mkdir ~/sh # 任意のホームディレクトリに読み替えます
vi ~/sh/reminder_ndays_before.sh
スクリプト内容
#!/bin/sh

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
​
cd /var/lib/redmine
bundle exec rake redmine:send_reminders days=3 RAILS_ENV=production

実行権付与・動作確認

chmod +x ~/sh/reminder_ndays_before.sh
/sh/reminder_ndays_before.sh

実行後、以下のようなメールを確認します。

※ 自分はこれに加え

  • 31日前
  • 7日前
  • 1日前

をそれぞれ作成しています。

cron登録

指定の時刻に自動的に上記のスクリプトを実行できるよう、cronを修正します。

crontab -e
cron内容
#設定したスクリプトのパスを記載
30 8 * * * ~/sh/reminder_31days_before.sh
40 8 * * * ~/sh/reminder_1day_before.sh

30 17 * * * ~/sh/reminder_7days_before.sh
40 17 * * * ~/sh/reminder_1day_before.sh

30 20 * * * ~/sh/reminder_3days_before.sh
40 20 * * * ~/sh/reminder_1day_before.sh

上記設定では

  • 8:30 - 31日前
  • 8:40 - 1日前
  • 17:30 - 7日前
  • 17:40 - 1日前
  • 20:30 - 3日前
  • 20:40 - 1日前

に送信するようにして、設定完了です。