SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
/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

Weitere ähnliche Inhalte

Was ist angesagt?

Wo! vol.21 企業がVineアプリを使う方法
Wo! vol.21 企業がVineアプリを使う方法Wo! vol.21 企業がVineアプリを使う方法
Wo! vol.21 企業がVineアプリを使う方法
thinkjam.Inc.
 
Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607
Keiji Ariyama
 
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
智治 長沢
 

Was ist angesagt? (19)

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

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

スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
ShoKitawaki
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
 

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

技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
 
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
 
企業向けUXデザイン導入のポイント
企業向けUXデザイン導入のポイント企業向けUXデザイン導入のポイント
企業向けUXデザイン導入のポイント
 
SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発
 
Kymaではじめるマイクロサービスなサーバレス開発
Kymaではじめるマイクロサービスなサーバレス開発Kymaではじめるマイクロサービスなサーバレス開発
Kymaではじめるマイクロサービスなサーバレス開発
 
XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
Try IoT with Node-RED
Try IoT with Node-REDTry IoT with Node-RED
Try IoT with Node-RED
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
 
CEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWorkCEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWork
 
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
続・AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
続・AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する続・AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
続・AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
 
LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
 
Vscodemeetup6
Vscodemeetup6Vscodemeetup6
Vscodemeetup6
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
サーバーレスの基本とCI/CD構築 & 運用 〜システムは動いてからが本番だ〜
 サーバーレスの基本とCI/CD構築 & 運用 〜システムは動いてからが本番だ〜 サーバーレスの基本とCI/CD構築 & 運用 〜システムは動いてからが本番だ〜
サーバーレスの基本とCI/CD構築 & 運用 〜システムは動いてからが本番だ〜
 

Mehr von Yusuke Kojima

(SPI JAPAN 2020) 組織と個人が内発的動機で継続的に成長し続けるための実践手法
(SPI JAPAN 2020) 組織と個人が内発的動機で継続的に成長し続けるための実践手法(SPI JAPAN 2020) 組織と個人が内発的動機で継続的に成長し続けるための実践手法
(SPI JAPAN 2020) 組織と個人が内発的動機で継続的に成長し続けるための実践手法
Yusuke Kojima
 

Mehr von Yusuke Kojima (7)

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