Django から各種チャットツールに通知するライブラリを作った話

25
Django から各種チャット ツールに通知するライブラリを 作った話 宮﨑 勇輔 @ymyzk PyCon JP 2015 2015/10/10 @プラザ平成

Transcript of Django から各種チャットツールに通知するライブラリを作った話

Page 1: Django から各種チャットツールに通知するライブラリを作った話

Django から各種チャット ツールに通知するライブラリを

作った話

宮﨑 勇輔 @ymyzk PyCon JP 2015

2015/10/10 @プラザ平成

Page 2: Django から各種チャットツールに通知するライブラリを作った話

Who am I ?• 宮﨑 勇輔 @ymyzk http://ymyzk.com

• PyCon JP 参加3年目・初のトークです

• 京都大学工学部情報学科計算機科学コース B4

• プログラミング言語の研究をしています

Page 3: Django から各種チャットツールに通知するライブラリを作った話

株式会社Unimap• 「京大マップ」というサービスを開発しています (iOS・Android・Web)

• バックエンドは Python

Page 4: Django から各種チャットツールに通知するライブラリを作った話
Page 5: Django から各種チャットツールに通知するライブラリを作った話

チャットツールを 導入してますか?

Page 6: Django から各種チャットツールに通知するライブラリを作った話
Page 7: Django から各種チャットツールに通知するライブラリを作った話

チャットツール• 社内・チーム内のコミュニケーションに最適化

• メールや Skype に代わって利用されつつある

• エンジニアでなくても使いやすい

Page 8: Django から各種チャットツールに通知するライブラリを作った話

他のサービスやツールと 連携してますか?

Page 9: Django から各種チャットツールに通知するライブラリを作った話
Page 10: Django から各種チャットツールに通知するライブラリを作った話

連携例• GitHub・Bitbucket

• Issue や Pull Request が作成されたら通知

• Jenkins・Travis CI

• CI の結果を通知

• CI の実行をリクエスト

Page 11: Django から各種チャットツールに通知するライブラリを作った話

連携例• Mackerel・Nagios・Crashlytics

• 各種アラートを通知

• IFTTT・Twitter

• 情報を集約して通知

Page 12: Django から各種チャットツールに通知するライブラリを作った話

連携例• Hubot

• チャットツールで使える便利な Bot

• その他

• デプロイと結果の通知

Page 13: Django から各種チャットツールに通知するライブラリを作った話

他のツールとの連携• チャットツールにあらゆる情報を集約させられる

• すべてのメンバーが情報を把握しやすい

Page 14: Django から各種チャットツールに通知するライブラリを作った話

自社サービスからも 通知しませんか?

Page 15: Django から各種チャットツールに通知するライブラリを作った話

django-channels

Page 16: Django から各種チャットツールに通知するライブラリを作った話

django-channels• Django とともに利用できるライブラリ

• HipChat や Slack 等に簡単に通知

• 複数の通知先を設定可能

Page 17: Django から各種チャットツールに通知するライブラリを作った話

使い方import channels

channels.send("Hey!")

※通知先の設定は settings.py に書いている

Page 18: Django から各種チャットツールに通知するライブラリを作った話

設定例CHANNELS = { "CHANNELS": { "slack": { "_backend": "channels.backends.slack.SlackChannel", "url": "https://hooks.slack.com/services/ABCDEF/" } } }

Page 19: Django から各種チャットツールに通知するライブラリを作った話

利用例

Page 20: Django から各種チャットツールに通知するライブラリを作った話

投稿されたら通知• ユーザーがコンテンツを投稿 (e.g. イベント・記事) したタイミングで通知を送る

Page 21: Django から各種チャットツールに通知するライブラリを作った話

簡易サポート• サポートフォームの内容をチャットに流す

Page 22: Django から各種チャットツールに通知するライブラリを作った話

バッチ処理の結果• バッチ処理の結果を通知する

Page 23: Django から各種チャットツールに通知するライブラリを作った話

まとめ

Page 24: Django から各種チャットツールに通知するライブラリを作った話

まとめ• サービスとチャットツールを連携させてより便利に

• すべてのメンバーがサービスに参加してより良いサービスづくりにつながる

• django-channels はシンプルなライブラリ様々な使い方が可能

Page 25: Django から各種チャットツールに通知するライブラリを作った話

Thank you for listening• GitHub

• https://github.com/ymyzk/django-channels

• Star 等お待ちしております !

• Documentation

• http://django-channels.rtfd.org/