ブロックチェーン・AI・システム開発の株式会社INDETAIL

当番制のタスクをチャットワークに自動通知するbotを作ってみた。GAS × Chatwork API

2018.03.05
ishi-sho

こんにちは、2017年度新卒社員のishishoです。 新卒社員には毎日行うちょっとした仕事があるのですが、これを1週間交代の当番制でやることにしています。 基本的に当番の交代は休み明けの月曜日。そうなると・・・

  • 先週誰がやっていた?今週の当番は〇〇さんで合ってる? という確認が入る
  • そもそもみんなタスク自体を忘れている

という状況にしばしば陥ることがあり、 「誰が当番かを通知してくれるbotがあれば・・・」と思うようになりました。 そこで、インターネットで探してみると、Google Apps Script(以下GAS)の存在を見つけたので、GASを用いてbotを作成することにしました。

準備:Googleスプレッドシート

開発環境の準備や設定はこちらの記事を参考にしてください。 なお、今回は担当者や通知回数の管理のためにGoogleスプレッドシートを使用します。 新規スプレッドシートを準備し、構成は以下のようにしました。

次に、スプレッドシートからGASのエディタを表示させます。

「ツール」→「スクリプトエディタ」を選択するとGASのエディタが表示されます。 ひとまず準備は以上になります。

開発:GASのソースコード

GASで記述したコードは以下になります。

メンバーが増えたときのことも想定

ちなみに、このコードでは、担当が最後の人まで終わったかどうかを、スプレッドシートの最終行を参照させることで判断するようにしています。 よって、たとえ当番のメンバーが増えたとしても、スプレッドシートの「メンバーNo」と「名前」の欄に書き加えるだけで、コードを編集することなく運用し続けることが可能です。

実行:チャットワークに通知

早速ですが、上記の画像のようなメニューバーの黒い三角の実行ボタンを押して、チャットワークに通知させてみます。

このようにbotが今週のタスク担当を通知してくれました!

スプレッドシートの方も確認してみると、完了日数が+1されています。

実行ボタンを押した時に許可を求められた場合は?

三角の実行ボタンを押した時に許可を求められた場合は、まず「許可を確認」を選択。

左下にある詳細をクリック。 すると下にスクロールできるので、「プロジェクト名(安全ではないページに移動)」というリンクをクリック(自身のプロジェクトであるため安全です)。 これで実行を通すことができます。

トリガーの設定を行う

手動での実行で通知させることができたので、今度は通知のタイミングを設定して自動化させていきます。 三角の実行ボタン左隣の時計のボタンを押してみましょう。

すると、このようなトリガー設定画面になります。 今回の実装では朝の時間帯に通知するよう設定していますが、通知させたい内容によって調整できます。

1週間後・・・

しっかりと指定された時間帯に通知され、当番もAさんからBさんへ交代しています!

スプレッドシート上でも念のため確認。問題なく変更されていました。

まとめ

数値の管理はスプレッドシートで行ったり、通知のタイミングはトリガーで調節できたりと、思った以上に簡単に作ることができました。 このようにGASはとても便利なので、ぜひ触れてみてください!

ishi-sho

主にフロントエンドを担当しています。ゲームと邦楽ロックが好き

「いいね」ボタンを押すと、最新情報をすぐに確認できます。