[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kagemai-users:0587] Re: 通知先のアドレス振り分け
小寺です。
> 要は、このA分類の障害なら乙さんに、B分類の障害ならば丙さん
> にメールを送信したいわけです。
こういった用途の場合は、送信時に処理するフックスクリプトを用意する必要があります。
BTSテンプレートプロジェクトにある、email_message.rb の sendmail メソッドを
map = []
map << ["A分類", "乙さん@xxxxxxxxx"]
map << ["B分類", "丙さん@xxxxxxxxx"]
map << ["C分類", "乙さん@xxxxxxxxx,丙さん@xxxxxxxxx"]
mappedaddrs = ""
messages = [message]
messages << report.at(report.size - 1) if report.size >= 2 #状態変化時に前状態の関係者にも通知する場合
messages.each do |mess|
['bugtype'].each do |eid| #対象フィールドのIDリスト
return unless mess.has_element?(eid)
# カンマ区切りアドレスリストへ変換
mess[eid].split(/[,\s]+/).each do |addrlist|
mappedaddrs += ',' + Hash[*map.flatten][addrlist];
end
end
# アドレスユニーク化して送信
to = mappedaddrs.split(/[,\s]+/).uniq.find_all{|addr| valid_email_address?(addr)}
if !to.empty? then
project.sendmail_to(report, message, to, [], [])
end
という様な感じにして利用する様にすると、出来ると思います。
(全く未確認なのでバグだらけかと思います。あくまでも感じという事で)