VisasQ Dev Blog

ビザスク開発ブログ

Google Homeに褒めてもらおう

10月よりビザスクにジョインしましたエンジニアの喜多です。 好きなパスタはペペロンチーノ、最近は低温調理機に興味があります。

弊社は「世界中の知見をつなぐ」というミッションのもとスポットコンサルというマッチングサービスを運営しております。

サービスをグロースさせていくためには私達エンジニアチームだけではなく、企業と密に接して人材をマッチングさせるVQチームの活躍が欠かせません。

VQチームでは良い仕事をしたメンバーに対して掛け声をかけることがよくあります。 一方でエンジニアチームではリリースした際などにSlackで 😁 🎉 👍 💖 あたりのリアクションがもらえるくらいでしょうか。

エンジニアだって声をあげて褒められたい!!

軽微な修正などはエンジニア以外にとって分かりにくいものです。 例えば文言修正などで褒めてもらえるほど甘くありません。インパクトのあるリリースが必要になります。

しかしエンジニアにとっては1つ1つのコミットが大きな成果なのです。 誰か「ナイスコミット!!」って褒めてくれませんか?

Google Home 「ナイスコミット!!」

さて10月23日に発売したGoogle Home、皆様購入しましたでしょうか。

弊社ではCTO 花村が早速手に入れてデモをしてくれました。

例えば「ねぇGoogle、○○(お子さんの名前)の写真見せて」というとGoogle Photoの写真が表示されました。ほっこり。

Google Homeは受動的で「OK, Google」「ねぇ、Google」と語りかけてからではないとアクションをしてくれないのが難点です。

「ねぇ、Google、"ナイスコミット"って言って」と言わなければなりません。

これを解決してくれるのがこちら。

Google Home Notifier

手順はREADMEにある通りです。数行で実装できるので下記に記載します。

まずnpmでgoogle-home-notifierをインストールします。

$ npm install google-home-notifier

IPや言語を設定しナイスコミット!!をnotifyに渡します。

// nice-commit.js
const googlehome = require('google-home-notifier');
const message = "ナイスコミット!!";

googlehome.device('オフィス', 'ja');
googlehome.ip('192.168.x.x');
googlehome.accent('ja');
googlehome.notify(message, res => console.log(res));

実行してみます。

$ node nice-commit.js
>> Google Home 「ナイスコミット」

「ナイスコミット」いただきました!!(ちなみに「!!」をつけてもテンションは変わりません。) 日本語ではいまいちなので英語で「Nice commit!!」いただくよう言語設定を変更します。

// IPを指定しておけばdeviceの設定がなくてもOK
// googlehome.device('オフィス', 'ja');
// googlehome.accent('ja');
googlehome.accent('us');

実行してみます。

$ node nice-commit.js
>> Google Home 「Nice commit!!」

いい感じになりました 😁

git commit 「Nice commit!!」

ではコミットするたびに褒めてもらいましょう。

nice-commit.jsnice.jsに変更し引数を受け取れるように修正します。

// const message = "Nice commit!!"
const message = process.argv[2];

次にgitのフックスクリプトを作成します。

#!/bin/sh
# .git/hooks/post-commit
node nice.js "Nice commit!!"

コミットしてみましょう。

$ git commit -m "fix a typo"
>> Google Home 「Nice commit!!」

褒めてもらえました 😁

Bad commit ...

このフックスクリプトの問題点はどんなコミットでもNice commit!!になってしまうことです。 CIを通せばFAIL(Bad commit!!)するかもしれません。

今回は試していませんがREADMEにあるようにリスナーを経由することで外部サービスからのリクエストも受け付けられます。そうすればCIの結果をWebhook経由でGoogle Homeに通知することも可能ですね。

おわりに

エンジニアは常時ある程度の緊張感をもってコードを書いているかと思います。 それだけに特に大きなリリースをしたときの開放感・充実感はたまらないものです。

しかしリリースのときに限らず日々のコミットでも賞賛してくれるGoogle Home仲間って良いですよね!

「ナイスコミット!!」できるエンジニアを募集しています!!