Capistrano3でhipchatを操る

どうもこんばんは

最近hipchatを開発に導入し始めたので、JenkinsのおっさんやCapistranoを組合せて色々できるなと思って仕込んでる最中です。 で、通知タスクを書こうと思ってAPIラッパーあるんじゃね?って思ったので調べたらやっぱりありました。

hipchat/hipchat-rb · GitHub

Bundler使ってるのであれば、Gemfileに定義を追加してやればよいです。自分はCapistrano3系と併せて使ってます。

source 'https://rubygems.org'

gem 'capistrano', '~> 3.0.1'
gem 'hipchat'

hipchat-rbはCapistranoのタスクも提供してますが、まだAPI v1までしか対応してないです。なんでhipchat-rbをそのまま利用してやりましょう。

namespace :hipchat do

  token = "トークン"
  room_id = "ルームID(API IDで表示されてるやつ)"

  task :send do

    run_locally do
      client = HipChat::Client.new(token, :api_version => 'v2')
      client[room_id].send('ねこさん', "ねこ大好き")
    end
  end

end
  • tokenはhipchatの管理画面で生成できます。
  • room_idというのは管理画面で「API ID」と表示されているやつにあたります。

というわけで非常に簡単に操れます。詳しい使い方はソース見たほうが早いと思うんでソースみてくださいな。