Yo API を利用してカンタンに Deploy を通知し Yo!

こんにちは。Tokyo Otaku Mode エンジニアの重岡です。

Tokyo Otaku Mode はスタートアップゆえに、日々サービスの機能追加や改善を繰り返していますが、遊びゴゴロのある開発にもいくつか取り組んでいます。今回は最近、話題になっている Yo というアプリの API の利用方法に関する話を取り上げたいと思います。

Yo API を使うメリット

「Yo」とひと言だけを送り合うメッセージングアプリの API を使うことに何のメリットがあるのか?と思う方も多いでしょう。実際、私も最初に Yo のことを知ったときに「これ何に使うんだ・・・?」と思いました。しかし、Yo について調べていくなかで、メリットがいくつかわかってきました。

メリットのひとつに Android や iPhone などのモバイル端末への Push 通知処理を組み込むために、自前でコード書かなくていいという点が挙げられます。通知のためだけに専用のアプリを用意し、Parse で Push 通知を実装する、という面倒なことをしなくていいわけです。Yo API を呼び出すコードを数行追加すれば、カンタンに Push 通知を組み込めます。

今回は、デプロイツール Capistrano で Deploy するときに Yo API を利用してモバイル端末へ通知する処理を組み込んでみました。このおかげで、本番環境へ新機能が反映されたこと伝える Push 通知を、モバイル端末経由でいつでも受け取れるようになったのです。

Yo アプリのインストール 〜 Sign Up

さて、ここからは Yo API を使うまでの手順を説明していきます。

最初に、Yo のアプリをインストールします。

インストール完了したら、アプリを起動して Sign Up しましょう。

手順は以下の通りです。

  1. SIGNUP をタップします

    yo1
  2. CHOOSE USERNAME にユーザー名を入力します(今回は OTAKUMODE と入力しました)

    yo2
  3. CHOOSE PASSWORD にパスワードを入力します
    パスワードを入力したら TAP TO SIGNUP をタップします

    yo3
  4. WELCOME!!

    yo4

アプリ側の設定は以上です。

Yo API キーを発行する

Yo の API キーは http://yoapi.justyo.co/ から登録します。

yo-api-sign-up-1

  • Desired Username
  • Callback URL (optional)
  • Email Address

  • Personal Yo Username
  • Personal Yo Password

埋めると下記のような感じで、今回、Callback URL は使わないので、適当に http://example.com としました。

yo-api-sign-up-2

すべてもれなく入力したら、Create Account ボタンをクリックしてアカウントを作成します。

アカウント作成後、入力した Email Address 宛に API Key が送信されます。

Yo API 管理画面は下記のような感じです。

yo-api-dashboard-1
* API Token は Chrome Developer Tool で適当な値に変更しています

71503abc-de17-663f-281g-h1e0810f3cd1 という API Token をメモしておきます。

管理画面には Username を入力するフォームがあり、ここから API 経由で Yo を通知することができます。

Send Yo ボタンを押すと Username フォームに入力したユーザー宛に Yo!

Yo All ボタンを押すと、今回登録した API アカウント DEPLOYSTART を追加している全ユーザーに Yo を通知できます。

yo-api-dashboard-2

とってもシンプルですね。

Capistrano に Yo を組み込む

Yo を組み込むなんて、大層ですね。API 呼び出すだけなのに。

さて、Capistrano の deploy コマンドを定義している conf/deploy/production.rb に Yo するだけの処理を追加します。

Yo の api_token は先ほどメモしておいたものを使います。

1
2
3
4
5
6
7
8
9
10
11
12
13
require 'net/http'

def yo_all
Net::HTTP.post_form URI('http://api.justyo.co/yoall/'),
api_token: '71503abc-de17-663f-281g-h1e0810f3cd1'
end

# DEPLOYSTART アカウントを追加してる全アカウントに Yo を通知する
yo_all

unless Capistrano::CLI.ui.agree("Do you want to execute on Production Servers? (y/n)")
abort "Canceled"
end

実際に Capistrano で実行してみると下記のように「Deploy しますか?」という確認のタイミングで Yo 経由で他の開発メンバーに通知することができます。

1
2
3
4
➜  cap production deploy
triggering load callbacks
* 2014-08-01 01:21:28 executing `production'
Do you want to execute on Production Servers? (y/n)

まとめ

Yo API を利用してカンタンに Deploy を通知する処理を実装できました。これで24時間365日、土日関係なくいつでも、モバイル端末経由で Push 通知を受け取ることにより、Deploy されたことを把握できるようになるわけです。

Tokyo Otaku Mode では、新しいサービスや技術が大好きな一緒に Yo! してくれるエンジニアを募集しています。ご興味がありましたら、こちらからご応募ください。

Yo の可能性は無限大

Let’s Enjoy Yo Life!

参考記事

Yo ってナニソレ美味しいの?って方はこちらの記事をどうぞ。