Redmineでリマインダー送信

12 月 4th, 2008

では期限が近かったり、超過しているチケットについてリマインダーを送信することができる。

具体的には以下のような雰囲気のをcronに設定してあげる、と。

cd $REDMINE_ROOT; \
RAILS_ENV=production \
rake :send_reminders days=3 > /dev/null

しかし、送信されてくるメールのURLからが配置されているサブディレクトリの情報が落ちてしまっていた。
で、QuickHack。

うちの環境は下記の通り。

  • をサブディレクトリで運用
  • Passenger を利用し、「RailsBaseURI /」と設定

そのため、rakeのタスクとして実行すると RailsBaseURI として設定されている部分が認識されず不正なURLでメールが飛んでくるということだと。
rakeのタスクに対するオプションとして修正を入れようと思ったのだけれど、ちょっと忙しいので下記の強調部分の通りhost情報をハードコーディング:)

app/models/mailer.rb

def reminder(user, issues, days)
....
  :issues_url => url_for(:controller => 'issues',
      :action => 'index', :set_filter => 1,
      :assigned_to_id => user.id,
      :sort_key => 'issues.due_date',
      :sort_order => 'asc',
      :host => 'www.HOGEHOGE.net/')

きれいじゃないなぁ:(

Related posts