redmine2.5.2+CentOS6+postfixにて、メールによるチケットの自動登録をメールによるチケットの登録(Redmine.jp)の手順に従って設定しました。
/etc/aliasesファイルはこんな設定です。
support: “|/usr/local/bin/ruby /var/www/example.com/redmine-2.5.2/extra/mail_handler/rdm-mailhandler.rb –url https://example.com/redmine/ –key XXXXXX –project=inbox –status=進行中 –unknown-user=accept –no-permission-check”
すると…
ArgumentError (invalid byte sequence in UTF-8):
こんなエラーが発生して、登録できないのです。
ArgumentError (invalid byte sequence in UTF-8):
app/models/mail_handler.rb:316:in `get_keyword’
app/models/mail_handler.rb:368:in `issue_attributes_from_keywords’
app/models/mail_handler.rb:186:in `receive_issue’
app/models/mail_handler.rb:174:in `dispatch_to_default’
app/models/mail_handler.rb:159:in `dispatch’
app/models/mail_handler.rb:134:in `receive’
app/models/mail_handler.rb:46:in `receive’
app/controllers/mail_handler_controller.rb:25:in `index’
仕方なく、mail_hander.rbを改造していた
/redmine/app/models/mail_handler.rb:370行目
#’priority_id’ => (k = get_keyword(:priority)) && IssuePriority.named(k).first.try(:id),
‘priority_id’ => get_keyword(:priority),
こんなんでいいのか。
でも、必須カスタムフィールドとかがあると登録できない。
解決方法
エンコーディングのところとかも色々見まくって、redmineやmySQLなどの設定も見直しました。で、サーバの初期セッティングをちゃんとしてなかったっていう。
すみません、単にサーバのロケールを日本語にしてなかったのが原因でした。ごめんなさい。
# vi /etc/sysconfig/i18n
————————
#LANG=”en_US.UTF-8″
LANG=”ja_JP.UTF-8″
SYSFONT=”latarcyrheb-sun16″
————————# vi ~/.vimrc
————————
#add Japanese Encoding
set encoding=utf-8
set fileencodings=utf8,iso-2022-jp,euc-jp,sjis
————————# reboot
結論
サーバのロケールセッティングは最初にやろう。
へぼすぎる。へぼすぎるよ。。。