チャットBOTの開発

ChatWorkを用いた開発体制の構築

国内では高いシェアを誇るコミュニケーションツールであるChatWork。ビジネス向けの機能が充実している一方で、昨今のGitHubやBitbucketに代表される開発ツールとの連動性は決して高いとは言えませんでした。プロジェクトの関係者へのコミュニケーション精度と効率を高めるため、ChatWork APIを活用したBOT開発がスタートしました。

ChatWorkの良さを活かしたシステム設計

通常、BOTの導入には特別な知識が必要になるものですが、複雑なユーザー登録や設定を不要にし、ChatWorkを普段使う動作だけですべてが完結するように構築。コンタクトを追加し、グループチャットに追加・削除するだけで、BOTの利用開始と停止が行えるようにしました。

徹底的な自動化と秘匿化

情報流出やプライバシーの問題がつきまとう昨今、サービスの性質を考え、人が介在せずに、内容も秘匿化されるように細部までこだわりました。具体的には、APIで提供されていない機能はブラウザをエミュレートする機能を活用し自動化。人が全く介在せずに運用できる体制を構築しました。また、アプリケーションのログはもちろん、サーバーのログやデータベースの削除、通信の暗号化を含め、BOTが通知した内容は一切残らないように設計しています。

通知対象の拡張も可能な設計

BOTの公開時には、GitHubやBitbucketのイベントに加え、メールを特定のメールアドレスに転送することでメール通知にも対応しています。今後、同様のWebhookを利用できるサービスを追加していけるよう、拡張可能な設計を施しました。また、システムと公式サイトのサーバーを物理的にわけるなど、運用上の工夫も行っています。