会社で 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はまだないようなので、ユーザの一覧は自分でしてしないといけないのでそこは少し面倒ですね。追加されないかなー。