Yo APIの取得
http://yoapi.justyo.co/
こちらのページからAPI用のアカウントを作成する。個人用のアカウントを持っている必要がある。
アカウントを作るとtokenが発行される。
APIの仕様
subscriber全員にYo
subscriberに一括でYoする (POST)
$ curl --data "api_token=<api_token>" http://api.justyo.co/yoall/
個人にYo
パラメータで指定したユーザーにYoする (POST)
誰にでも送れちゃうのかな...?
$ curl --data "api_token=<api_token>&username=<username>" http://api.justyo.co/yo/
subscriberの数をカウント
API用のアカウントのsubscriberの総数を取得する (GET)
$ curl "http://api.justyo.co/subscribers_count/?api_token=<api_token>"
Yo受信でwebhook呼び出し
設定したコールバックURLを使用する。
Yoを受信したら、hookを呼び出す。送信したユーザー名がusernameパラメータとして付いてくる
Capistranoのタスクにしてみる
くだらないけどやってみた。
チームの開発メンバーにAPI用のアカウントをsubscribeしておいてもらい、
適当なタイミングで全員にYoできるように。
lib/capistrano/tasks/yo.cap
require 'net/http'
namespace :yo do
def yo
uri = URI('http://api.justyo.co/yoall/')
Net::HTTP.post_form(uri, 'api_token' => ENV['YO_API_TOKEN'])
rescue => e
p e
end
desc 'Send a YO to developers'
task :send do
run_locally do
yo
end
end
end
これでcap yo:send
というタスクができる。
cap deploy:finished
とかcap deploy:failed
フックの後に使えば捗りますね。
Yoはコンテキスト