ちょっと会社の業務で必要なったのでついにRedmineにメールで投稿する機能を設定した。

参考: Redmine.jp メールによるチケットの登録

これの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にバージョンアップしなきゃなぁと、また思いました。