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