[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kagemai-users:0357] レポート登録スクリプト
福岡です。
[kagemai-users:0356] に関係していますが、オフトピック気味なので
別スレッドにしておきます。
| メール(と同じ形式)にして mailif.rb を使うとか、mailif.rb や
| [kagemai-users:0341] のように、Kagemai::BTS や Kagemai::Project
| などのクラスを利用したスクリプトを作るのをおすすめしておきます。
どの程度興味を持つ人がいるかわかりませんが、試しに作ってみました。
mailif.rb はレポートの新規登録とリプライの両方に対応してますし、
メールの処理などで複雑なように見えるかもしれませんが、レポート
の新規登録だけにすると、以下のようになります。
====
#!/usr/bin/ruby -Ke
kagemai_root = "/home/fukuoka/kagemai" # setup
config_file = "#{kagemai_root}/kagemai.conf" # setup
$: << "#{kagemai_root}/lib"
require 'kagemai/config'
Kagemai::Config.initialize(kagemai_root, config_file)
require 'kagemai/bts'
require 'kagemai/project'
require 'kagemai/message_bundle'
require 'kagemai/cgi/action'
module Kagemai
MessageBundle.open(Config[:resource_dir],
Config[:language],
Config[:message_bundle_name])
class NewReport
def initialize(project_id)
bts = BTS.new(Config[:project_dir])
@project = bts.open_project(project_id)
end
def do(email, title, body)
message = Message.new(@project.report_type)
message['email'] = email
message['title'] = title
message['body'] = body
message.set_option('email_notification', false)
@project.new_report(message)
end
end
end
command = Kagemai::NewReport.new('project-id')
command.do('メールアドレス', '概要', '本文')
====
NewReport#do に渡す title, body の文字コードは EUC で
ある必要があります。
これをベースに、メールアドレス、概要、本文を外部から
指定できるようにしてやれば使えます。
たとえば、表計算ソフトなどでバグ管理していたデータ
を CSV でエクスポートして、影舞に取り込むようなこと
もできそうですね。
--
福岡ともゆき <fukuoka@xxxxxxxxxxxxx>
http://www.daifukuya.com/