ちょっと会社の業務で必要なったのでついにRedmineにメールで投稿する機能を設定した。
これのIMAP方式でいれてみました。
IMAP方式にした理由は
- MTAに特殊な設定がいらず、アカウントさえ用意すれば、Redmineのサーバーだけで対応できる。
- 今回は障害監視等ではないので、そこまでリアルタイムである必要もない。(せいぜい10分~30分後に確認できればOK)
メールの書式は、メールのタイトルがチケットのタイトルになります。
本文は以下のような感じ
チケットの本文を適当に先に入力しておきます。
別にあとからでもいいのかもしれませんが、なんとなく先にしておきます。
# ここからがチケットの情報を更新するためのキーワード
Project: [チケットを登録するプロジェクト識別子]
Tracker: [開発,バグ,要望 等]
Priority: [低め,通常,高め 等]
Category: [プロジェクトに存在するカテゴリ]
Status: [新規,着手,解決,終了 等]
Version: [プロジェクトに存在するバージョン] Redmine1.1以上じゃないと使えない。※ メールの送信元のメールアドレスが投稿者になるので、メールの送信元のメールアドレスが、投稿しようとするプロジェクトで有効なユーザーである必要があります。
これにあわせてテスメールを送ってみたら、タイトルだけが文字化けしていました。
そこで、下記を参照して修正
これで無事タイトルも表示されるようになりました。
ひと通りテストができたらCRONに設定して、定期的に取得するようにします。
# Redmine Mail Checker
*/10 * * * * /usr/local/bin/rake -f /var/lib/redmine/Rakefile redmine:email:receive_imap RAILS_ENV=”production” host=メールサーバーのIP username=メールサーバーのユーザー名password=ぱすわーど move_on_success=Trash move_on_failure=Failed allow_override=project,tracker,category,priority
今回のポイントは
- move_on_successとmove_on_failureで取り込みに成功したメールと、失敗したメールの振り分け先を決めておいて、普通のメーラーからも、取り込み結果が確認しやすいようにしておきます。
- allow_overrideはメールの本文で上書きする内容を設定しますが、いろんなプロジェクトに対応したいので、プロジェクトやトラッカーを予め決め打ち等はせず、メールで設定できるようにしておきます。
Redmine1.1からは、もっと使用できるキーワードがもっと色々ふえているらしく進捗なんかもメールから更新できるらしいので、はやいところ、1.1にバージョンアップしなきゃなぁと、また思いました。