この記事は、裏freee Developers Advent Calender 2018の5日目です。
時がすぎるのは早いもので、freeeに入社していつの間にか1年4ヶ月経っていました。現在私はfreeeのサービス基盤というチームでマイクロサービスをつくったり、サービスの改善のための足回りを整えたりなどやっています。今回の投稿はアドベントカレンダーということで普段の業務から離れて、自分が以前からほしいなって思っていたgoogle add-onをアドベントカレンダー駆動開発でつくったのでその紹介をします。
背景
freeeではあらゆる情報の共有にgoogleドキュメントが使われています。例えば機能をつくるにあたって必ず最初に作るDesignDoc、時にはコーディング規約、あるいはちょっとした考えてのアウトプットなどそれは多岐にわたります。またfreeeには、「あえて共有する」という文化があるほど周りに共有することを意識しているため、そういった数々のドキュメントに触れる機会がよくあります。そういったドキュメントを見たときに、「コメントを残すほどではないけどいいドキュメントですね」みたいな気持ちを伝えたいことがよくあったので、今回はそれがgoogleドキュメント上でできるようになるいいね add-onを作成しました。
作ったもの
作ったもののデモです。
動画内にもあるように今回作った いいねadd-on は「めっちゃいい」みたいな気持ちを伝えやすくするために1ユーザにつき何度もいいねが押せるようにしてみました。今はまだいいねを「する」「みる」しかないですが、今後週次でいいねが多かったdocsを集計できるよような仕組みを入れようと考えています。その仕組みが入れば、たくさん書かれているドキュメントの中から皆が関心が高いものが可視化されるので有益なドキュメントが見つかりやすくなったりするのかなと考えています。あと個人的にキリ番機能とかつけたいですね。
また今回の機能を作るにあたって作成したコードが以下になります。main.gsのsheetIDがいいねをためる先のスプレッドシードのIDになるのでそこは適宜書き換えが必要です。またmain.gs内のDocumentsAppと書いてある箇所を、SpreadsheetAppやSlideAppに書き換えるとスプレットシードやスライド向けにadd-onを提供することも可能です。
コードが何をしているかはだいたいコメントに残しています。また今回add-onを作るにあたり公式のドキュメントがすごくよくまとまっていたのでそれらを参考にしたら一日かからず作ることができました。以下が参考にしたURLです。
おわりに
たまには業務を離れてこうあったらいいなっておもう機能をシュッとつくってみるのはいつになっても楽しいですね。 早くリリースまでもっていけるようにがんばります🙏
さて明日は、生産性改善系エンジニアのkompiroさんです!お楽しみに!