2013年4月10日水曜日

RubyでBacklogのAPIを利用して課題を追加してみる

スズキです。

Nagiosの監視とBacklogを連動したくなって、まずはAPIから試してみました。
Backlog API

Rubyの処理系は次の通りです。
# yum -y install ruby
...
# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

で、課題の追加は下記のようなスクリプトで可能となります。
# cat create-issue
#!/usr/bin/ruby
require "xmlrpc/client"

space       = ARGV[0]
project     = ARGV[1]
user        = ARGV[2]
password    = ARGV[3]
summary     = ARGV[4]
description = ARGV[5]

proxy = XMLRPC::Client.new_from_hash({
    "host"     => space + ".backlog.jp",
    "path"     => "/XML-RPC",
    "port"     => 443,
    "use_ssl"  => true,
    "user"     => user,
    "password" => password
})

proxy.call("backlog.createIssue", {
    "projectId"   => project,
    "summary"     => summary,
    "description" => description
})

実行は次の通りです。(引数の意味合いはソースを参照)
# ./create-issue space 0000000000 user password "test summary" "test description"
...

すると実際に、下記のようにBacklogに課題が追加されます。



次は、これをNagiosのアラートと連動...
--------
http://www.suz-lab.com

0 コメント: