プロジェクト

全般

プロフィール

QA #941

未完了

メールからチケット登録でカスタムフィールドが更新されない

kei shino さんが約5年前に追加. 約5年前に更新.

ステータス:
新規
優先度:
通常
担当者:
カテゴリ:
-
対象バージョン:
-
開始日:
2019/04/19
期日:
進捗率:

0%

予定工数:

説明

Windows Server 2016にbitnami4.0.3-1をインストールして構築しました。
IMAPを定期的に参照して、メールからチケット登録やチケット内の情報更新を行おうとしています。
チケット登録や既存のチケット項目(ステータスや担当者など)は問題なくメールから「status: 終了」のように本文に書けば反映されるのですが、カスタムフィールドの項目が反映されずに困っています。
rakeで定期的にIMAPを見るバッチ処理はエラーはなく処理が終了しますが、Redmineでチケット情報を見ると反映されてない状況です。
rakeで定期的にIMAPを見るバッチ処理には、allow_overrideの項目にカスタムフィールドの項目名は記述しています。
また反映されないカスタムフィールド名は日本語ですが、試しにアルファベットのみのカスタムフィールドを作成して試してみたところ反映されました。
上記から文字コードの問題かとも思われるのですが、ここから何をどう調査すれば良いのか困っています。どんな問題が考えられるでしょうか。

kei shino さんが約5年前に更新

しかし、良く考えると「status: 終了」と日本語でステータスを指定しても問題なく反映されるので、やはり文字コードの問題ではないですかね。。

kei shino さんが約5年前に更新

allow_overrideの指定をallにしたところ、日本語の項目も反映できました。
やはりバッチ内でallow_overrideに日本語を指定しているところに何か問題がありそうです。

奈良 裕記 さんが約5年前に更新

IMAPを直接扱ったことがないので、現象からの推測ですが、現象としてはメールのencoding関連など気になりますね。
custom_field_values_from_keywords付近でログ出して確認する事になるでしょうか。

関連する処理は主に下記付近です。(概ね呼出順)

app/models/mail_handler.rb


  def self.receive(raw_mail, options={})

  # Processes incoming emails
  # Returns the created object (eg. an issue, a message) or false
  def receive(email, options={})

  def dispatch

  # Creates a new issue
  def receive_issue

  def dispatch

 # Returns a Hash of issue custom field values extracted from keywords in the email body
  def custom_field_values_from_keywords(customized)

  def get_keyword(attr, options={})
  def extract_keyword!(text, attr, format=nil)

  def self.extract_options_from_env(env)

呼び出し元
lib/tasks/email.rake

他の形式にエクスポート: Atom PDF