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
sugar
December 14, 2018
Programming
99
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
78
a-blog cms Training Camp 2023 - a-blog cms での実装フローを紹介
sugawara
0
120
a-blog cms での簡単不正ログイン対策
sugawara
0
180
買切りとサブスクについて比較しながらライセンス適用方法とサブスクのいいところを伝える/ablogcms-zoomup202105
sugawara
0
35
a-blog cms を使ったサイト制作ガイドラインを作ってみた
sugawara
0
460
私の1年間とa-blog cmsだからできる簡単UI対応
sugawara
0
440
『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
さぁV100、メモリをお食べ・・・
nilpe
0
130
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
460
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
240
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
320
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
440
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.7k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
230
net-httpのHTTP/2対応について
naruse
0
450
OSもどきOS
arkw
0
470
The NotImplementedError Problem in Ruby
koic
1
650
Inside Stream API
skrb
1
650
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
It's Worth the Effort
3n
188
29k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
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/