Django から各種チャット
ツールに通知するライブラリを
作った話
宮 勇輔 @ymyzk
PyCon JP 2015
2015/10/10 @プラザ平成
Who am I ?
• 宮 勇輔 @ymyzk http://ymyzk.com
• PyCon JP 参加3年目・初のトークです
• 京都大学工学部情報学科計算機科学コース B4
• プログラミング言語の研究をしています
株式会社Unimap
• 「京大マップ」というサー
ビスを開発しています
(iOS・Android・Web)
• バックエンドは Python
チャットツールを
導入してますか?
チャットツール
• 社内・チーム内のコミュニケーションに最適化
• メールや Skype に代わって利用されつつある
• エンジニアでなくても使いやすい
他のサービスやツールと
連携してますか?
連携例
• GitHub・Bitbucket
• Issue や Pull Request が作成されたら通知
• Jenkins・Travis CI
• CI の結果を通知
• CI の実行をリクエスト
連携例
• Mackerel・Nagios・Crashlytics
• 各種アラートを通知
• IFTTT・Twitter
• 情報を集約して通知
連携例
• Hubot
• チャットツールで使える便利な Bot
• その他
• デプロイと結果の通知
他のツールとの連携
• チャットツールにあらゆる情報を集約させられる
• すべてのメンバーが情報を把握しやすい
自社サービスからも
通知しませんか?
django-channels
django-channels
• Django とともに利用できるライブラリ
• HipChat や Slack 等に簡単に通知
• 複数の通知先を設定可能
使い方
import channels
channels.send("Hey!")
※通知先の設定は settings.py に書いている
設定例
CHANNELS = {
"CHANNELS": {
"slack": {
"_backend": "channels.backends.slack.SlackChannel",
"url": "https://hooks.slack.com/services/ABCDEF/"
}
}
}
利用例
投稿されたら通知
• ユーザーがコンテンツを投稿 (e.g. イベント・記事)
したタイミングで通知を送る
簡易サポート
• サポートフォームの内容をチャットに流す
バッチ処理の結果
• バッチ処理の結果を通知する
まとめ
まとめ
• サービスとチャットツールを連携させてより便利に
• すべてのメンバーがサービスに参加して

より良いサービスづくりにつながる
• django-channels はシンプルなライブラリ

様々な使い方が可能
Thank you for listening
• GitHub
• https://github.com/ymyzk/django-channels
• Star 等お待ちしております !
• Documentation
• http://django-channels.rtfd.org/

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