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

Post on 06-Jan-2017

9.708 views 1 download

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

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/