Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GASでミドル業務を少し楽にした話
Search
ALH
June 10, 2020
Technology
920
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GASでミドル業務を少し楽にした話
ALH
June 10, 2020
More Decks by ALH
See All by ALH
Pythonのすゝめ
alh
1
810
ご紹介します。webGL
alh
0
110
Other Decks in Technology
See All in Technology
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
990
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
550
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
360
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
420
Reactの設計論
uhyo
24
14k
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
絵ではじめるKubernetesセキュリティ
aoi1
4
690
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
人間はどの意思決定を手放せるのか
kawasima
15
7.7k
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
30
18k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
2026_devsumi_ozono.pdf
o3
3
550
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
GitHub's CSS Performance
jonrohan
1033
470k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
So, you think you're a good person
axbom
PRO
2
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
700
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
GASでミドル業務を 少し楽にした話 2020/05/29 DSU 土屋亮介
お話すること DSUミドルではタスクを管理するため、 Trelloというツールを導入・運用しています。 今日は、 Trelloのリマインドを、GASでWPBot化した という話をします。
「Trelloってどんなツールなんだ?」 「そもそもGASって何だ?」 知らない方のために簡単な説明を。 その前に !
Trelloとは • タスク管理ツール • 無料 • かんばん方式 • APIが豊富 AndroidやiOS対応のアプリがあるので、
スマホやPCから簡単にタスク管理が行えます。 (めっちゃ便利!)
左図がUIです。 ざっくり説明すると、 ボード内にカードを登録し、 リストでステータス管理するような ツールです。
GASとは • Google Apps Scriptの略称 • サーバーサイドのスクリプト言語 • Googleサーバー上で動く •
Googleアカウントがあれば使える • 無料 • Googleサービスと連携できる • JavaScriptベースで作られている (サーバーレス!) (環境構築不要!) (無料!) (すげぇ!) (学習コスト低い!)
GASでできること • Webアプリ • API • バッチ • スクレイピング •
外部ツール利用(Slack、Chatwork...etc) ちょっとした業務改善にピッタリ!
GASを使ってみたいあなた! Qiitaにハンズオン投稿したので見てください! • by土屋 他の方も投稿したりしてますね! • byおのみーさん • by佐々木貴也さん
Trelloのリマインドを、GASでWPBot化した という話をします。 ようやく本題
具体的には ※タスク名や氏名は名誉のため伏せます 月水金のAM8:15に 締切3日前のタスクを抽出し、 Workplace Botに投稿させます 対応者リスト付きの場合は、 未対応者の名前を表示します
構成 Workplace Bot 疑似データベース Trello API バッチ処理
構成 Workplace Bot 疑似データベース Trello API バッチ処理 バッチ1 Trelloからタスク一覧を取得し スプレッドシートに書き込む
バッチ2 締切間近のタスクを抽出し WPBotにポストする
バッチ1の説明 Workplace Bot 疑似データベース Trello API バッチ処理 バッチ1 Trelloからタスク一覧を取得し スプレッドシートに書き込む
バッチ2 締切間近のタスクを抽出し WPBotにポストする
バッチ1のソース ~省略~ ①ユーザーに紐づく全ボード情報を取得し、 対象のボードだけ抽出する ②対象ボードに紐づく全リスト情報を取得し、 対象のリストだけ抽出する ③対象リストに紐づく全カード情報を取得し、 スプレッドシートに書き込む
書き込まれたスプレッドシート
バッチ2の説明 Workplace Bot 疑似データベース Trello API バッチ処理 バッチ1 Trelloからタスク一覧を取得し スプレッドシートに書き込む
バッチ2 締切間近のタスクを抽出し WPBotにポストする
バッチ2のソース ①スプレッドシートから全カードを取得し、 締切日が3日以内のカードだけを メッセージに追加する ②メッセージをWPBotに送信する
ちょっとしたポイント これがあるからマークダウンで投稿できる!
処理は完成!後は… Workplace Bot 疑似データベース Trello API バッチ処理 トリガー設定が必 要
トリガー設定方法 1. メニューから設定する 2. スクリプトから設定する メニューバーの をクリック > 「トリガーを追加」 >
時刻や関数を設定 > 「保存」 トリガー設定用のスクリプトを実行する (ScriptAppライブラリを使用する)
トリガー設定方法 1. メニューから設定する 2. スクリプトから設定する メニューバーの をクリック > 「トリガーを追加」 >
時刻や関数を設定 > 「保存」 トリガー設定用のスクリプトを実行する (ScriptAppライブラリを使用する) 細かい日時指定が可能!
トリガー設定のソース ①祝日ではない月水金の場合だけ トリガー設定を実行する ②バッチ1をAM8:00に設定、 バッチ2をAM8:15に設定する
最後に… ③トリガー設定スクリプトを 毎日AM2~3時の間に実行させる
やったぜ! お疲れ様でした。。。。 完成!!
振り返り • 自分が作ったものが 誰かの役に立ったり、 誰かから感謝されるのはと ても嬉しい! • 単純にできることが増えるのは楽しいし、 モチベーション向上にも繋がる!
因みに 他にも機能を追加・実装しています! • 期限が切れたカードを”期限切れ”リストに移動する • “期限切れ”リストにある期限から1週間経過した カードをアーカイブする
今後は 合間合間で色々妄想中! • カード登録をもっと楽にしたい • 投稿じゃなくてチャットにしたい • 他ユニットに提供してみたい 「GASでこんなの作りたい!」みたいなご相談も
誠心誠意お聞きします!
Thanks!! ご清聴ありがとうございました!