SlideShare a Scribd company logo
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
Slack の Incoming Webhookで
簡易なフィードバック管理
2020/9/7
Serverless LT初心者向け #3
小島 優介
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
自己紹介
2
名前:小島 優介
業務:
C#でのツール開発業務のエンジニアリングマネージャー
Twitter:@kojimadev
https://twitter.com/kojimadev
コミュニティ運営:
「Serverless LT初心者向け」
https://serverlesslt.connpass.com/
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
はじめに
3
Slack の Incoming Webhook を用いて
アプリに対するユーザーからの要望や不具合報告などの
フィードバック管理を簡易的に実現する方法の紹介
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
アプリを公開する際、フィードバックを管理したい
4
Webサービスであっても
Android/iOSアプリであっても
ユーザーからの要望や、不具合報告など
ユーザーからのフィードバックを管理したいことは多い
個人開発のアプリやサービスなら
なおさらユーザーからのフィードバックを元に改善したい
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
DB(Firebaseなど)にデータを登録するのは面倒
5
ユーザーからの要望や不具合報告登録をDBに登録する場合
登録したデータを検索したり、表示したりするために
管理機能の開発が必要(面倒)
また、DBに登録されたことを通知する機能も欲しい(面倒)
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
そこで Slack の Incoming Webhook
6
Slack の Incoming Webhook を使えば
指定したチャンネルに要望や不具合報告を投稿可能
Slackなので、検索もしやすいし、通知にもなる
フリープランでも、直近10,000件まで投稿が記録できるので
アプリのユーザー数が多くなるまでは、簡易的な管理として十分
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
実現方法は簡単
7
1. フィードバック管理用のSlackのワークスペースを作成する
2. Incoming Webhook を用いてURLを取得する
(こちらのリンク先参照)
3. 上記URLを用いてSlackに投稿する機能を持つ
Web API を Azure Functions などで作成する
4. 上記の Web API を Webサービスやアプリから実行する
3. についての詳細を以降で解説
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
C#でSlackに投稿(とても簡単)
8
メンションの有無を設定
メッセージと投稿者名と
チャンネル名を設定
SlackのAPIに送信できる形式に変換
Slackに投稿
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
Azureのアカウントを作成して、Visual Studioから
メニューを実行するだけで Web APIを作成可能
詳細はこちらのリンク先参照
C#でAzure Functionsを作成(とても簡単)
9
新規作成するだけで雛形となるメソッドが作成される
実装はこれを少し変更するだけで良い
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
実装変更は赤枠の2箇所を変更するだけ
Azure FunctionsからSlackに投稿する
10
リクエストボディから
パラメータ取得
Slackに投稿するメソッドを
呼び出す
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
Web APIの実行結果
11
Web API のリクエストボディに json形式で
メッセージ、チャンネル名、メンション有無を指定して実行
#error_reportチャンネルに下図のように投稿される
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
ユーザーフィードバック管理の例
12
不具合報告、要望などの
用途ごとにチャンネルを分ける
不具合報告の例
問題を特定するための
情報を送信
/65
Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima
© DENSO CORPORATION All RightsReserved.
まとめ
13
Slack の Incoming Webhook と
Azure Functions を用いることで
フィードバックの管理を簡単に実現できる
本発表で紹介したソースコードは以下のリポジトリで公開
https://github.com/kojimadev/SlackIncomingWebhook

More Related Content

PPTX
アプリリリースのやらかし話
PPTX
エンジニア 新年の抱負 超Lt会 vol_5_平山
PPTX
25 + 5分で開発速度を上げる時間管理術!ポモドーロテクニックのご紹介
PPTX
Feedlyのススメ
PPTX
楽楽精算iOSアプリのCI/CD紹介
PDF
リモートワークで楽しく開発するためのチームビルディング
PDF
Azure のApp Center でアプリの 使用状況を分析する
PDF
Azure の App Center でアプリの 使用状況を分析する
アプリリリースのやらかし話
エンジニア 新年の抱負 超Lt会 vol_5_平山
25 + 5分で開発速度を上げる時間管理術!ポモドーロテクニックのご紹介
Feedlyのススメ
楽楽精算iOSアプリのCI/CD紹介
リモートワークで楽しく開発するためのチームビルディング
Azure のApp Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析する

What's hot (19)

PPTX
アプリ開発の勉強の始め方
PPTX
Voice interaction api for android m
PDF
本番用のDBに対してやってしまった話
PDF
Wo! vol.21 企業がVineアプリを使う方法
PDF
Google Mirror API勉強会 20130607
PDF
Facebook Night vol. 6
PDF
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
PDF
バグ0の資産を積み上げるための証明駆動開発入門
PPTX
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
PDF
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
PPTX
React Nativeという技術選択
PPT
デブサミ 2013 日本App Inventorユーザー会
KEY
App inventorで想いを形に
PDF
夏サミ 2013 A2 セッション資料 #natsumiA2
PDF
Depthセンサーで稼ぐ
PDF
いま注目のセンサー&デバイス
PPTX
Deeplinkまとめ
PDF
ストア反映に振り回されないアプリ更新
PDF
でぶさみ夏2013 キーノート オレンジレンジャーの資料
アプリ開発の勉強の始め方
Voice interaction api for android m
本番用のDBに対してやってしまった話
Wo! vol.21 企業がVineアプリを使う方法
Google Mirror API勉強会 20130607
Facebook Night vol. 6
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
バグ0の資産を積み上げるための証明駆動開発入門
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
React Nativeという技術選択
デブサミ 2013 日本App Inventorユーザー会
App inventorで想いを形に
夏サミ 2013 A2 セッション資料 #natsumiA2
Depthセンサーで稼ぐ
いま注目のセンサー&デバイス
Deeplinkまとめ
ストア反映に振り回されないアプリ更新
でぶさみ夏2013 キーノート オレンジレンジャーの資料
Ad

Similar to Slack の Incoming Webhookで簡易なフィードバック管理 (20)

PPTX
技術選択とアーキテクトの役割 (要約版)
PDF
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
PDF
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
PDF
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
PPTX
企業向けUXデザイン導入のポイント
PPTX
【STech I USA】2025.7.25 Databricks Data+AI Summit 2025 フィードバックウェビナー 〜現地参加者が語る注...
PDF
SharePoint Framework による Viva Connections アプリの開発
PDF
Kymaではじめるマイクロサービスなサーバレス開発
PDF
XAML のこれまでとこれから、今「やる」べき意義
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
Try IoT with Node-RED
PPTX
開発チーム管理で役立ったVSCode拡張機能
PDF
CEDEC2022 Keiji Kikuchi RemoteMobWork
PPTX
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
PPTX
DeNAが取り組む Software Engineer in Test
PDF
続・AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
PDF
LightSwitchでWebアプリ開発
PDF
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
PPTX
Vscodemeetup6
PDF
深掘り!RubyKaigi 2025アフターセッション mruby_cで実践! Raspberry Pi Picoで 温度_湿度をSlackに お知...
技術選択とアーキテクトの役割 (要約版)
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
企業向けUXデザイン導入のポイント
【STech I USA】2025.7.25 Databricks Data+AI Summit 2025 フィードバックウェビナー 〜現地参加者が語る注...
SharePoint Framework による Viva Connections アプリの開発
Kymaではじめるマイクロサービスなサーバレス開発
XAML のこれまでとこれから、今「やる」べき意義
Infrastructure as Code (IaC) 談義 2022
Try IoT with Node-RED
開発チーム管理で役立ったVSCode拡張機能
CEDEC2022 Keiji Kikuchi RemoteMobWork
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
DeNAが取り組む Software Engineer in Test
続・AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
LightSwitchでWebアプリ開発
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
Vscodemeetup6
深掘り!RubyKaigi 2025アフターセッション mruby_cで実践! Raspberry Pi Picoで 温度_湿度をSlackに お知...
Ad

More from Yusuke Kojima (7)

PDF
Firebase Realtime Database を C# から利用する
PDF
(SPI JAPAN 2020) 組織と個人が内発的動機で継続的に成長し続けるための実践手法
PDF
組織と個人が内発的動機により継続的に成長するための施策
PDF
徹底的にアウトプットを伴う育成をやってみた話
PDF
リモートワークで楽しく開発するためのチームビルディング
PDF
生産性を倍にしたハピネスチームビルディング
PDF
生産性を2倍にしたチームビルディング
Firebase Realtime Database を C# から利用する
(SPI JAPAN 2020) 組織と個人が内発的動機で継続的に成長し続けるための実践手法
組織と個人が内発的動機により継続的に成長するための施策
徹底的にアウトプットを伴う育成をやってみた話
リモートワークで楽しく開発するためのチームビルディング
生産性を倍にしたハピネスチームビルディング
生産性を2倍にしたチームビルディング

Slack の Incoming Webhookで簡易なフィードバック管理

  • 1. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. Slack の Incoming Webhookで 簡易なフィードバック管理 2020/9/7 Serverless LT初心者向け #3 小島 優介
  • 2. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. 自己紹介 2 名前:小島 優介 業務: C#でのツール開発業務のエンジニアリングマネージャー Twitter:@kojimadev https://twitter.com/kojimadev コミュニティ運営: 「Serverless LT初心者向け」 https://serverlesslt.connpass.com/
  • 3. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. はじめに 3 Slack の Incoming Webhook を用いて アプリに対するユーザーからの要望や不具合報告などの フィードバック管理を簡易的に実現する方法の紹介
  • 4. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. アプリを公開する際、フィードバックを管理したい 4 Webサービスであっても Android/iOSアプリであっても ユーザーからの要望や、不具合報告など ユーザーからのフィードバックを管理したいことは多い 個人開発のアプリやサービスなら なおさらユーザーからのフィードバックを元に改善したい
  • 5. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. DB(Firebaseなど)にデータを登録するのは面倒 5 ユーザーからの要望や不具合報告登録をDBに登録する場合 登録したデータを検索したり、表示したりするために 管理機能の開発が必要(面倒) また、DBに登録されたことを通知する機能も欲しい(面倒)
  • 6. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. そこで Slack の Incoming Webhook 6 Slack の Incoming Webhook を使えば 指定したチャンネルに要望や不具合報告を投稿可能 Slackなので、検索もしやすいし、通知にもなる フリープランでも、直近10,000件まで投稿が記録できるので アプリのユーザー数が多くなるまでは、簡易的な管理として十分
  • 7. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. 実現方法は簡単 7 1. フィードバック管理用のSlackのワークスペースを作成する 2. Incoming Webhook を用いてURLを取得する (こちらのリンク先参照) 3. 上記URLを用いてSlackに投稿する機能を持つ Web API を Azure Functions などで作成する 4. 上記の Web API を Webサービスやアプリから実行する 3. についての詳細を以降で解説
  • 8. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. C#でSlackに投稿(とても簡単) 8 メンションの有無を設定 メッセージと投稿者名と チャンネル名を設定 SlackのAPIに送信できる形式に変換 Slackに投稿
  • 9. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. Azureのアカウントを作成して、Visual Studioから メニューを実行するだけで Web APIを作成可能 詳細はこちらのリンク先参照 C#でAzure Functionsを作成(とても簡単) 9 新規作成するだけで雛形となるメソッドが作成される 実装はこれを少し変更するだけで良い
  • 10. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. 実装変更は赤枠の2箇所を変更するだけ Azure FunctionsからSlackに投稿する 10 リクエストボディから パラメータ取得 Slackに投稿するメソッドを 呼び出す
  • 11. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. Web APIの実行結果 11 Web API のリクエストボディに json形式で メッセージ、チャンネル名、メンション有無を指定して実行 #error_reportチャンネルに下図のように投稿される
  • 12. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. ユーザーフィードバック管理の例 12 不具合報告、要望などの 用途ごとにチャンネルを分ける 不具合報告の例 問題を特定するための 情報を送信
  • 13. /65 Developers Summit 2020 KANSAI / 2020-8-27 / Yusuke Kojima © DENSO CORPORATION All RightsReserved. まとめ 13 Slack の Incoming Webhook と Azure Functions を用いることで フィードバックの管理を簡単に実現できる 本発表で紹介したソースコードは以下のリポジトリで公開 https://github.com/kojimadev/SlackIncomingWebhook