Slide 1

Slide 1 text

GASでミドル業務を
 少し楽にした話
 2020/05/29  DSU 土屋亮介


Slide 2

Slide 2 text

お話すること
 DSUミドルではタスクを管理するため、
 Trelloというツールを導入・運用しています。
 
 今日は、
 Trelloのリマインドを、GASでWPBot化した
 という話をします。


Slide 3

Slide 3 text

「Trelloってどんなツールなんだ?」
 「そもそもGASって何だ?」
 知らない方のために簡単な説明を。
 その前に
 !


Slide 4

Slide 4 text

Trelloとは
 ● タスク管理ツール
 ● 無料
 ● かんばん方式
 ● APIが豊富
 AndroidやiOS対応のアプリがあるので、
 スマホやPCから簡単にタスク管理が行えます。
 (めっちゃ便利!)

Slide 5

Slide 5 text

左図がUIです。
 
 ざっくり説明すると、
 ボード内にカードを登録し、
 リストでステータス管理するような
 ツールです。


Slide 6

Slide 6 text

GASとは
 ● Google Apps Scriptの略称
 ● サーバーサイドのスクリプト言語
 ● Googleサーバー上で動く
 ● Googleアカウントがあれば使える
 ● 無料
 ● Googleサービスと連携できる
 ● JavaScriptベースで作られている
 (サーバーレス!) (環境構築不要!)
 
 (無料!)
 
 (すげぇ!)
 
 (学習コスト低い!)
 


Slide 7

Slide 7 text

GASでできること
 ● Webアプリ
 ● API
 ● バッチ
 ● スクレイピング
 ● 外部ツール利用(Slack、Chatwork...etc)
 ちょっとした業務改善にピッタリ!


Slide 8

Slide 8 text

GASを使ってみたいあなた!
 Qiitaにハンズオン投稿したので見てください!
 ● by土屋
 
 他の方も投稿したりしてますね!
 ● byおのみーさん
 ● by佐々木貴也さん


Slide 9

Slide 9 text

Trelloのリマインドを、GASでWPBot化した
 という話をします。
 ようやく本題


Slide 10

Slide 10 text

具体的には
 ※タスク名や氏名は名誉のため伏せます
 月水金のAM8:15に
 締切3日前のタスクを抽出し、
 Workplace Botに投稿させます
 
 対応者リスト付きの場合は、
 未対応者の名前を表示します


Slide 11

Slide 11 text

構成
 Workplace Bot
 疑似データベース
 Trello API
 バッチ処理


Slide 12

Slide 12 text

構成
 Workplace Bot
 疑似データベース
 Trello API
 バッチ処理
 バッチ1
 Trelloからタスク一覧を取得し
 スプレッドシートに書き込む
 バッチ2
 締切間近のタスクを抽出し WPBotにポストする


Slide 13

Slide 13 text

バッチ1の説明
 Workplace Bot
 疑似データベース
 Trello API
 バッチ処理
 バッチ1
 Trelloからタスク一覧を取得し
 スプレッドシートに書き込む
 バッチ2
 締切間近のタスクを抽出し WPBotにポストする


Slide 14

Slide 14 text

バッチ1のソース
 ~省略~
 ①ユーザーに紐づく全ボード情報を取得し、
  対象のボードだけ抽出する
 ②対象ボードに紐づく全リスト情報を取得し、
  対象のリストだけ抽出する
 ③対象リストに紐づく全カード情報を取得し、
  スプレッドシートに書き込む


Slide 15

Slide 15 text

書き込まれたスプレッドシート


Slide 16

Slide 16 text

バッチ2の説明
 Workplace Bot
 疑似データベース
 Trello API
 バッチ処理
 バッチ1
 Trelloからタスク一覧を取得し
 スプレッドシートに書き込む
 バッチ2
 締切間近のタスクを抽出し WPBotにポストする


Slide 17

Slide 17 text

バッチ2のソース
 ①スプレッドシートから全カードを取得し、
  締切日が3日以内のカードだけを
  メッセージに追加する
 ②メッセージをWPBotに送信する


Slide 18

Slide 18 text

ちょっとしたポイント
 これがあるからマークダウンで投稿できる!

Slide 19

Slide 19 text

処理は完成!後は…
 Workplace Bot
 疑似データベース
 Trello API
 バッチ処理
 トリガー設定が必 要


Slide 20

Slide 20 text

トリガー設定方法
 1. メニューから設定する
 2. スクリプトから設定する
 メニューバーの  をクリック >
 「トリガーを追加」 > 時刻や関数を設定 > 「保存」 
 トリガー設定用のスクリプトを実行する 
 (ScriptAppライブラリを使用する) 


Slide 21

Slide 21 text

トリガー設定方法
 1. メニューから設定する
 2. スクリプトから設定する
 メニューバーの  をクリック >
 「トリガーを追加」 > 時刻や関数を設定 > 「保存」 
 トリガー設定用のスクリプトを実行する 
 (ScriptAppライブラリを使用する) 
 細かい日時指定が可能!


Slide 22

Slide 22 text

トリガー設定のソース
 ①祝日ではない月水金の場合だけ
  トリガー設定を実行する
 ②バッチ1をAM8:00に設定、
  バッチ2をAM8:15に設定する


Slide 23

Slide 23 text

最後に…
 ③トリガー設定スクリプトを
  毎日AM2~3時の間に実行させる


Slide 24

Slide 24 text

やったぜ!
 お疲れ様でした。。。。
 完成!!


Slide 25

Slide 25 text

振り返り
 ● 自分が作ったものが
 誰かの役に立ったり、
 誰かから感謝されるのはと ても嬉しい!
 ● 単純にできることが増えるのは楽しいし、
 モチベーション向上にも繋がる!
 


Slide 26

Slide 26 text

因みに
 他にも機能を追加・実装しています!
 
 ● 期限が切れたカードを”期限切れ”リストに移動する
 ● “期限切れ”リストにある期限から1週間経過した
 カードをアーカイブする


Slide 27

Slide 27 text

今後は
 合間合間で色々妄想中!
 
 ● カード登録をもっと楽にしたい
 ● 投稿じゃなくてチャットにしたい
 ● 他ユニットに提供してみたい
 「GASでこんなの作りたい!」みたいなご相談も
 誠心誠意お聞きします!


Slide 28

Slide 28 text

Thanks!! ご清聴ありがとうございました!