Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
工数表書き忘れ防止機能を作ってみた 〜 GASを使ったSlackへの自動通知 〜
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sugar
December 14, 2018
Programming
100
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
工数表書き忘れ防止機能を作ってみた 〜 GASを使ったSlackへの自動通知 〜
Frontend Nagoya #7
sugar
December 14, 2018
More Decks by sugar
See All by sugar
a-blog cms Ver. 3.2 のV2モジュールとTwig記法を導入してみて
sugawara
0
79
a-blog cms Training Camp 2023 - a-blog cms での実装フローを紹介
sugawara
0
130
a-blog cms での簡単不正ログイン対策
sugawara
0
180
買切りとサブスクについて比較しながらライセンス適用方法とサブスクのいいところを伝える/ablogcms-zoomup202105
sugawara
0
37
a-blog cms を使ったサイト制作ガイドラインを作ってみた
sugawara
0
470
私の1年間とa-blog cmsだからできる簡単UI対応
sugawara
0
450
『CSSに不安を抱く私を W3C仕様が救ってくれた』WCAN 2019 Spring
sugawara
0
2k
WCAN2019春LT_ボツスライド2
sugawara
0
1.4k
WCAN2019春LT_ボツスライド1
sugawara
0
1.4k
Other Decks in Programming
See All in Programming
テーブルをDELETEした
yuzneri
0
150
バグを直したら useEffect が消えた
colorful12
3
660
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
130
AIと壁打ちしながら進めるコスト管理
fufuhu
0
860
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
530
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
440
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
740
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
120
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
1
550
yield再入門 #phpcon
o0h
PRO
0
1.2k
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
130
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.9k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
370
エンジニアに許された特別な時間の終わり
watany
108
250k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
Navigating Team Friction
lara
192
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
440
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Building Adaptive Systems
keathley
44
3.2k
Are puppies a ranking factor?
jonoalderson
2
3.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Transcript
දॻ͖Εࢭػೳ Λ࡞ͬͯΈͨ ʙ GASΛͬͨSlackͷࣗಈ௨ ʙ 201812݄14 FrontEndNagoya#7 ੁݪ ࠼
දॻ͖Εࢭػೳ Λ࡞ͬͯΈͨ ʙ GASΛͬͨSlackͷࣗಈ௨ ʙ 201812݄14 FrontEndNagoya#7 ੁݪ ࠼ ࢼ࡞൛ʂ
ϓϩϑΟʔϧ ໊લɿੁݪ࠼ ॴଐɿ༗ݶձࣾΞοϓϧοϓϧ ʢ20183݄ೖࣾʣ ৬छɿϚʔΫΞοϓΤϯδχΞ ʢϑϩϯτΤϯυΤϯδχΞͱ໊ΕΔΑ͏ʹͳΓ͍ͨ…ʣ
օ͞ΜɺGAS Λ͝ଘͰ͔͢ʁ ʢ Google Apps Script ʣ
GAS ʢ Google Apps Script ʣͱʁ
GAS ʢ Google Apps Script ʣͱʁ Google Apps ScriptɺG Suiteͱ౷߹͞ΕͨϏδωε
ΞϓϦέʔγϣϯΛਝ͔ͭ؆୯ʹ࡞Ͱ͖Δɺ ਝͳΞϓϦέʔγϣϯ։ൃϓϥοτϑΥʔϜͰ ͢ɻJavaScriptͰίʔυΛهड़͠ɺGmailɺΧϨϯ μʔɺυϥΠϒͳͲͷ͖ͳG SuiteΞϓϦέʔ γϣϯ༻ͷΈࠐΈϥΠϒϥϦʹΞΫηεͰ͖· ͢ɻΠϯετʔϧ͢ΔͷԿ͋Γ·ͤΜɻϒ ϥβʹίʔυΤσΟλΛΠϯετʔϧ͠ɺ GoogleͷαʔόʔͰεΫϦϓτΛ࣮ߦ͠·͢ɻ Ҿ༻ݩɿhttps:/ /developers.google.com/apps-script/overview
GAS ʢ Google Apps Script ʣͱʁ Google ͕ఏڙ͍ͯ͠Δ JavaScript Λϕʔεʹ
ͨ͠ϓϩάϥϛϯάݴޠɻ
GAS ʢ Google Apps Script ʣͱʁ Google ͕ఏڙ͍ͯ͠Δ JavaScript Λϕʔεʹ
ͨ͠ϓϩάϥϛϯάݴޠɻ ͦͷಛʁ
GAS ʢ Google Apps Script ʣͱʁ Google ͕ఏڙ͍ͯ͠Δ JavaScript Λϕʔεʹ
ͨ͠ϓϩάϥϛϯάݴޠɻ
GAS ʢ Google Apps Script ʣͱʁ Google ͕ఏڙ͍ͯ͠Δ JavaScript Λϕʔεʹ
ͨ͠ϓϩάϥϛϯάݴޠɻ ؆୯ʹʂ ࿈ܞ&ૢ࡞Ͱ͖Δʂ
ࠓͷຊ
ࠓͷຊ දॻ͖Εࢭػೳ Λ࡞ͬͯΈͨ ʙ GASΛͬͨSlackͷࣗಈ௨ ʙ
ࠓͷຊ දॻ͖Εࢭػೳ Λ࡞ͬͯΈͨ ʙ GASΛͬͨSlackͷࣗಈ௨ ʙ Google Spreadsheet Google Spreadsheet
ͱ Slack ͷ࿈ܞ
ࠓͷຊ දॻ͖Εࢭػೳ Λ࡞ͬͯΈͨ ʙ GASΛͬͨSlackͷࣗಈ௨ ʙ Google Spreadsheet Google Spreadsheet
ͱ Slack ͷ࿈ܞ ؆୯ʹʂʂ
Google Spreadsheet
۩ମతͳॲཧ༰
۩ମతͳॲཧ༰ ࡢͷΛೖྗ͍ͯ͠Δ͔֬ೝ ೖྗ͞Ε͍ͯΕɺ Slackʮೖྗͯͯ͑͠Β͍Ͷʂʯͱ௨Λ͢Δ ೖྗ͞Ε͍ͯͳ͚Ε Slackʮೖྗͯ͠Ͷʂʯͱ௨͢Δɻ
։ൃͷϙΠϯτ 1. ։ൃڥ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ 3. Slack ͷ௨ํ๏ 4. ࣗಈͰఆظతͳೖྗνΣοΫɺ
ɹ௨Λ͢ΔΈ
දॻ͖Εࢭػೳͷ࡞ 1. ։ൃڥ
දॻ͖Εࢭػೳͷ࡞ 1. ։ൃڥ Google Spreadsheet ͷΈʂ
දॻ͖Εࢭػೳͷ࡞ Google Spreadsheet ͷΈʂ 1. ։ൃڥ
දॻ͖Εࢭػೳͷ࡞ Google Spreadsheet ͷΈʂ 1. ։ൃڥ
දॻ͖Εࢭػೳͷ࡞ Google Spreadsheet ͷΈʂ 1. ։ൃڥ
දॻ͖Εࢭػೳͷ࡞ Google Spreadsheet ͷΈʂ ؆୯ʂʂ 1. ։ൃڥ
දॻ͖Εࢭػೳͷ࡞ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏
දॻ͖Εࢭػೳͷ࡞ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ άάΕͨ͘͞Μग़ͯ͘Δʂʂ
දॻ͖Εࢭػೳͷ࡞ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ SpreadsheetApp.getActiveSheet(); SpreadsheetApp.getActiveSheet().getLastRow(); SpreadsheetApp.getActiveSheet() ɹɹɹɹɹɹ.getRange(i, column, 1).getValue();
දॻ͖Εࢭػೳͷ࡞ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ SpreadsheetApp.getActiveSheet(); SpreadsheetApp.getActiveSheet().getLastRow(); SpreadsheetApp.getActiveSheet() ɹɹɹɹɹɹ.getRange(i, column, 1).getValue(); ײతʹ͑Δػೳ͕ἧͬͯΔ
දॻ͖Εࢭػೳͷ࡞ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ SpreadsheetApp.getActiveSheet(); SpreadsheetApp.getActiveSheet().getLastRow(); SpreadsheetApp.getActiveSheet() ɹɹɹɹɹɹ.getRange(i, column, 1).getValue(); ײతʹ͑Δػೳ͕ἧͬͯΔ
؆୯ʂʂ
දॻ͖Εࢭػೳͷ࡞ 3. Slack ͷ௨
දॻ͖Εࢭػೳͷ࡞ Incoming Webhook Ҿ༻ݩɿhttps:/ /get.slack.help/hc/ja/ articles/115005265063-Slack- %E3%81%A7%E3%81%AEIncoming-Webhook- %E3%81%AE%E5%88%A9%E7%94%A8 3. Slack
ͷ௨
දॻ͖Εࢭػೳͷ࡞ Incoming Webhook Ҿ༻ݩɿhttps:/ /get.slack.help/hc/ja/ articles/115005265063-Slack- %E3%81%A7%E3%81%AEIncoming-Webhook- %E3%81%AE%E5%88%A9%E7%94%A8 ϫʔΫεϖʔεʹ ؆୯ʹ֎෦ͷใΛ
ڞ༗Ͱ͖Δπʔϧɻ 3. Slack ͷ௨
දॻ͖Εࢭػೳͷ࡞ Incoming Webhook Ҿ༻ݩɿhttps:/ /get.slack.help/hc/ja/ articles/115005265063-Slack- %E3%81%A7%E3%81%AEIncoming-Webhook- %E3%81%AE%E5%88%A9%E7%94%A8 GASͱͷ࿈ܞํ๏ɺ άάΕͨ͘͞Μग़ͯ͘Δʂʂ
3. Slack ͷ௨
දॻ͖Εࢭػೳͷ࡞ Incoming Webhook Ҿ༻ݩɿhttps:/ /get.slack.help/hc/ja/ articles/115005265063-Slack- %E3%81%A7%E3%81%AEIncoming-Webhook- %E3%81%AE%E5%88%A9%E7%94%A8 3. Slack
ͷ௨ ؆୯ʂʂ GASͱͷ࿈ܞํ๏ɺ άάΕͨ͘͞Μग़ͯ͘Δʂʂ
දॻ͖Εࢭػೳͷ࡞ 4. ࣗಈ௨ʢτϦΨʔʣઃఆ
දॻ͖Εࢭػೳͷ࡞ 4. ࣗಈ௨ઃఆ ʢτϦΨʔʣ
දॻ͖Εࢭػೳͷ࡞ 4. ࣗಈ௨ઃఆ ʢτϦΨʔʣ GUI ͰઃఆͰ͖Δʂ
දॻ͖Εࢭػೳͷ࡞ 4. ࣗಈ௨ʢτϦΨʔʣઃఆ
දॻ͖Εࢭػೳͷ࡞ 4. ࣗಈ௨ʢτϦΨʔʣઃఆ GUI ͰઃఆͰ͖Δʂ ؆୯ʂʂ
։ൃͷϙΠϯτ 1. ։ൃڥ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ 3. Slack ͷ௨ํ๏ 4. ࣗಈͰఆظతͳೖྗνΣοΫɺ
ɹ௨Λ͢ΔΈ
։ൃͷϙΠϯτ 1. ։ൃڥ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ 3. Slack ͷ௨ํ๏ 4. ࣗಈͰఆظతͳೖྗνΣοΫɺ
ɹ௨Λ͢ΔΈ ˠ Spreadsheetʹ͔͚Δ ˠײతʹ͑Δػೳ͕ἧͬͯΔ ˠSlackΞϓϦͰ؆୯ઃఆ ˠGUI ը໘Ͱ؆୯ઃఆ
։ൃͷϙΠϯτ 1. ։ൃڥ 2. εϓϨουγʔτͷใΛऔಘ͢Δํ๏ 3. Slack ͷ௨ํ๏ 4. ࣗಈͰఆظతͳೖྗνΣοΫɺ
ɹ௨Λ͢ΔΈ ˠ Spreadsheetʹ͔͚Δ ˠSlackΞϓϦͰ؆୯ઃఆ ˠGUI ը໘Ͱ؆୯ઃఆ ؆୯ʂʂ ˠײతʹ͑Δػೳ͕ἧͬͯΔ
·ͱΊ JavaScript Λ͋·Γॻ͍ͨ͜ͱ͕ͳ͍ਓͰ ʢˢࢲͷ͜ͱʣɺ ؆୯ʹɺ͓खܰʹ։ൃͰ͖ͪΌ͏ʂ Google ΞϓϦؔ࿈ͰԿ͔Λ։ൃ͍ͨ͠ͳΒɺ ͥͻGASΛͬͯΈ͍ͯͩ͘͞ʂ
࠷ޙʹ…
͠SlackͰ௨ςετ͢ΔͳΒɺ μΠϨΫτϝοηʔδͰΓ·͠ΐ ͏ɻɻɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ facebook.com/raichimomo @rachicom_sugar https:/ /rachicom.net/