LoginSignup
11
11

More than 5 years have passed since last update.

Qiita:Team の投稿を HipChat に通知する Ruby スクリプト

Posted at

会社で Qiita:Team を使っているのですが、どうにも読み忘れることが多いので、これまた会社で使っているチャットツール HipChat に通知する Ruby スクリプトを組んでみました。

Qiita gemがあるので簡単でした。

require 'hipchat'
require 'qiita'

hipchat = HipChat::Client.new(ENV['HIPCHAT_API_KEY'])
qiita = Qiita.new token: ENV['QIITA_API_TOKEN']

users = ENV['USERNAMES'].split(',')
users.each do |user|
  items = qiita.user_items user, team_url_name: ENV['TEAM']
  items.select {|item| Time.parse(item.created_at) > (Time.now - 24 * 3600)}.each do |item|
    html = <<-EOF
<a href='https://#{ENV['TEAM']}.qiita.com/#{item.user.url_name}'>#{item.user.url_name}</a>
wrote <a href='#{item.url}'>#{item.title}</a>
at #{item.created_at_in_words}
EOF
    hipchat[ENV['ROOM']].send('Qiita', html, notify: true, color: 'green')
  end
end

環境変数が多めなのは Heroku Scheduler で運用する予定だからです。
別途サーバがあるなら、cron で実行するのでも良いでしょう。

チームのメンバー一覧をとるAPIはまだないようなので、ユーザの一覧は自分でしてしないといけないのでそこは少し面倒ですね。追加されないかなー。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11