メールを送信してRedmineチケットを発行する。
Redmineに設定されたメールアドレスへメールを送信し、その文面でチケットを自動的に発行する対応をしました。そのときのメモを記載します。
この機能は、例えばサービス運用中に障害が発生した場合にメールを送信するようにしておき、そのメールで障害に対するRedmineチケットが自動的に発行するなどといった使い方があります。
主に下記のリンクを参照しました。
http://redmine.jp/guide/RedmineReceivingEmails/
Redmineサーバの設定手順
- /etc/mailsendmail.mcを修正します。(sendmailでローカル以外からメールを受信できるようにする)
(変更前) DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl (変更後) dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
- 更新を反映する
sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
- 受け取る宛先ドメインを指定する。下記追記します。
[namihira@redmine]$ sudo vi /etc/mail/local-host-names # local-host-names - include all aliases for your machine here. redmine.co.jp
- とりあえず再起動します。
sudo /etc/init.d/sendmail restart
- ブラウザからRedmineにアクセスして、APIキーを取得します。やり方は上記参考リンク先を参照してください。
- 指定された宛名へのメールを受信した場合、redmineのプログラムを起動するようにする。(/etc/aliases内、下記追記する。)
# for redmine redmine "|/var/lib/redmine/extra/mail_handler/rdm-mailhandler.rb --url http://localhost:80/redmine --key [さっき取得したAPIキー] --allow-override project,tracker,category,priority"
- 設定更新を反映する
sudo newaliases
- 上記プログラムを動かすシェルは、sendmail特有のもの(smrsh)であるため、PATHを通す。
[namihira@redmine smrsh]$ pwd /etc/smrsh [namihira@redmine smrsh]$ sudo ln -s /var/lib/redmine/extra/mail_handler/rdm-mailhandler.rb rdm-mailhandler.rb [namihira@redmine smrsh]$ ll 合計 0 lrwxrwxrwx 1 root root 54 2月 13 19:25 rdm-mailhandler.rb -> /var/lib/redmine/extra/mail_handler/rdm-mailhandler.rb
この設定の場合、redmine
redmine.co.jpにメールが送信された場合、その内容でチケット登録されます。 メールのフォーマットは上記の参考リンク先を参照してください。