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でミドル業務を少し楽にした話
Search
ALH
June 10, 2020
Technology
0
850
GASでミドル業務を少し楽にした話
ALH
June 10, 2020
Tweet
Share
More Decks by ALH
See All by ALH
Pythonのすゝめ
alh
1
780
ご紹介します。webGL
alh
0
81
Other Decks in Technology
See All in Technology
20240416_devopsdaystokyo
kzkmaeda
1
210
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
820
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
130
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
4
270
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
4.6k
JAWS-UG Bedrock Claude Night
yamahiro
3
530
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
430
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.4k
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.6k
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4.1k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2k
データベース02: データベースの概念
trycycle
0
140
Featured
See All Featured
How GitHub (no longer) Works
holman
304
140k
Statistics for Hackers
jakevdp
789
220k
Facilitating Awesome Meetings
lara
42
5.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
4 Signs Your Business is Dying
shpigford
175
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
14
1.5k
Scaling GitHub
holman
457
140k
Web Components: a chance to create the future
zenorocha
305
41k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Making Projects Easy
brettharned
108
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
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!! ご清聴ありがとうございました!