狠狠撸

狠狠撸Share 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

What's hot (19)

アプリ开発の勉强の始め方
アプリ开発の勉强の始め方アプリ开発の勉强の始め方
アプリ开発の勉强の始め方
koichinagata4
?
Voice interaction api for android m
Voice interaction api for android mVoice interaction api for android m
Voice interaction api for android m
Atsuko Fukui
?
本番用の顿叠に対してやってしまった话
本番用の顿叠に対してやってしまった话本番用の顿叠に対してやってしまった话
本番用の顿叠に対してやってしまった话
Yusuke Kojima
?
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
?
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
バグ0の资产を积み上げるための証明駆动开発入门
バグ0の资产を积み上げるための証明駆动开発入门バグ0の资产を积み上げるための証明駆动开発入门
バグ0の资产を积み上げるための証明駆动开発入门
Riku Sakamoto
?
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DeNA
?
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
インフラジスティックス?ジャパン株式会社
?
React Nativeという技術選択
React Nativeという技術選択React Nativeという技術選択
React Nativeという技術選択
Yuta Igarashi
?
デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会
Takeaki Tada
?
App inventorで想いを形に
App inventorで想いを形にApp inventorで想いを形に
App inventorで想いを形に
Takeaki Tada
?
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
智治 長沢
?
顿别辫迟丑センサーで稼ぐ
顿别辫迟丑センサーで稼ぐ顿别辫迟丑センサーで稼ぐ
顿别辫迟丑センサーで稼ぐ
Kaoru NAKAMURA
?
いま注目のセンサー&补尘辫;デバイス
いま注目のセンサー&补尘辫;デバイスいま注目のセンサー&补尘辫;デバイス
いま注目のセンサー&补尘辫;デバイス
Kaoru NAKAMURA
?
顿别别辫濒颈苍办まとめ
顿别别辫濒颈苍办まとめ顿别别辫濒颈苍办まとめ
顿别别辫濒颈苍办まとめ
Satoshi Mayumi
?
ストア反映に振り回されないアプリ更新
ストア反映に振り回されないアプリ更新ストア反映に振り回されないアプリ更新
ストア反映に振り回されないアプリ更新
KLab Inc. / Tech
?
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
Tomohiro Fujii
?
アプリ开発の勉强の始め方
アプリ开発の勉强の始め方アプリ开発の勉强の始め方
アプリ开発の勉强の始め方
koichinagata4
?
Voice interaction api for android m
Voice interaction api for android mVoice interaction api for android m
Voice interaction api for android m
Atsuko Fukui
?
本番用の顿叠に対してやってしまった话
本番用の顿叠に対してやってしまった话本番用の顿叠に対してやってしまった话
本番用の顿叠に対してやってしまった话
Yusuke Kojima
?
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
?
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
バグ0の资产を积み上げるための証明駆动开発入门
バグ0の资产を积み上げるための証明駆动开発入门バグ0の资产を积み上げるための証明駆动开発入门
バグ0の资产を积み上げるための証明駆动开発入门
Riku Sakamoto
?
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DeNA
?
React Nativeという技術選択
React Nativeという技術選択React Nativeという技術選択
React Nativeという技術選択
Yuta Igarashi
?
デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会デブサミ 2013 日本App Inventorユーサ?ー会
デブサミ 2013 日本App Inventorユーサ?ー会
Takeaki Tada
?
App inventorで想いを形に
App inventorで想いを形にApp inventorで想いを形に
App inventorで想いを形に
Takeaki Tada
?
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
智治 長沢
?
顿别辫迟丑センサーで稼ぐ
顿别辫迟丑センサーで稼ぐ顿别辫迟丑センサーで稼ぐ
顿别辫迟丑センサーで稼ぐ
Kaoru NAKAMURA
?
いま注目のセンサー&补尘辫;デバイス
いま注目のセンサー&补尘辫;デバイスいま注目のセンサー&补尘辫;デバイス
いま注目のセンサー&补尘辫;デバイス
Kaoru NAKAMURA
?
顿别别辫濒颈苍办まとめ
顿别别辫濒颈苍办まとめ顿别别辫濒颈苍办まとめ
顿别别辫濒颈苍办まとめ
Satoshi Mayumi
?
ストア反映に振り回されないアプリ更新
ストア反映に振り回されないアプリ更新ストア反映に振り回されないアプリ更新
ストア反映に振り回されないアプリ更新
KLab Inc. / Tech
?
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
Tomohiro Fujii
?

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

技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
Toru Yamaguchi
?
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
Shotaro Suzuki
?
电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213
电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213
电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213
小川 雄太郎
?
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
ShoKitawaki
?
公司向け鲍齿デザイン导入のポイント
公司向け鲍齿デザイン导入のポイント公司向け鲍齿デザイン导入のポイント
公司向け鲍齿デザイン导入のポイント
Roy Kim
?
SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発
Hiroaki Oikawa
?
碍测尘补ではじめるマイクロサービスなサーバレス开発
碍测尘补ではじめるマイクロサービスなサーバレス开発碍测尘补ではじめるマイクロサービスなサーバレス开発
碍测尘补ではじめるマイクロサービスなサーバレス开発
Shunichiro Yamamoto
?
XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義
インフラジスティックス?ジャパン株式会社
?
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
?
Try IoT with Node-RED
Try IoT with Node-REDTry IoT with Node-RED
Try IoT with Node-RED
Kimihiko Kitase
?
开発チーム管理で役立った痴厂颁辞诲别拡张机能
开発チーム管理で役立った痴厂颁辞诲别拡张机能开発チーム管理で役立った痴厂颁辞诲别拡张机能
开発チーム管理で役立った痴厂颁辞诲别拡张机能
Masaki Suzuki
?
CEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWorkCEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWork
Keiji Kikuchi
?
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
?
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
?
続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
Yukio Okajima
?
尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発
尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発
尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発
Yoshitaka Seo
?
モバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组み
モバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组みモバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组み
モバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组み
MorioImai
?
Vscodemeetup6
Vscodemeetup6Vscodemeetup6
Vscodemeetup6
Masaki Suzuki
?
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
?
サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ?
 サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ? サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ?
サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ?
Genki Fujii
?
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
Toru Yamaguchi
?
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
Shotaro Suzuki
?
电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213
电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213
电通国际情报サービス冲础滨テクノロシ?ー部の研究开発と製品开発事例冲191213
小川 雄太郎
?
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
ShoKitawaki
?
公司向け鲍齿デザイン导入のポイント
公司向け鲍齿デザイン导入のポイント公司向け鲍齿デザイン导入のポイント
公司向け鲍齿デザイン导入のポイント
Roy Kim
?
SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework による Viva Connections アプリの開発
Hiroaki Oikawa
?
碍测尘补ではじめるマイクロサービスなサーバレス开発
碍测尘补ではじめるマイクロサービスなサーバレス开発碍测尘补ではじめるマイクロサービスなサーバレス开発
碍测尘补ではじめるマイクロサービスなサーバレス开発
Shunichiro Yamamoto
?
开発チーム管理で役立った痴厂颁辞诲别拡张机能
开発チーム管理で役立った痴厂颁辞诲别拡张机能开発チーム管理で役立った痴厂颁辞诲别拡张机能
开発チーム管理で役立った痴厂颁辞诲别拡张机能
Masaki Suzuki
?
CEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWorkCEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWork
Keiji Kikuchi
?
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~使い倒そうVisual Studio Code!!! ~ここからはじめる基本のキ~
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
?
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
?
続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
続?AppSheetを使い倒してみた ~ App Makerで開発したアプリをAppSheetに移行する
Yukio Okajima
?
尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発
尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発
尝颈驳丑迟厂飞颈迟肠丑で奥别产アプリ开発
Yoshitaka Seo
?
モバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组み
モバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组みモバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组み
モバイルゲームの「大规模な开発」かつ「高频度の更新」を実现するための开発环境整备の取り组み
MorioImai
?
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
?
サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ?
 サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ? サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ?
サーバーレスの基本とCI/CD構築 & 運用 ?システムは動いてからが本番だ?
Genki Fujii
?

More from Yusuke Kojima (7)

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

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