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
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
120
a-blog cms での簡単不正ログイン対策
sugawara
0
180
買切りとサブスクについて比較しながらライセンス適用方法とサブスクのいいところを伝える/ablogcms-zoomup202105
sugawara
0
37
a-blog cms を使ったサイト制作ガイドラインを作ってみた
sugawara
0
470
私の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
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
320
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
210
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
420
What's New in Android 2026
veronikapj
0
170
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
540
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
霧の中の代数的エフェクト
funnyycat
1
420
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
130
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
180
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Writing Fast Ruby
sferik
630
63k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Prompt Engineering for Job Search
mfonobong
0
380
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Statistics for Hackers
jakevdp
799
230k
Design in an AI World
tapps
1
270
Abbi's Birthday
coloredviolet
3
8.8k
Balancing Empowerment & Direction
lara
6
1.2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
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/