LoginSignup
14
7

More than 5 years have passed since last update.

Google Apps Scriptで退勤時刻を知らせ打刻を促す

Last updated at Posted at 2016-12-26

概要

Google Apps Scriptを使い退勤時刻と打刻を促すことで打刻漏れを減らす。

実現したいこと

  • 毎日決まった時間に帰れるようになりたいため、時間をトリガーにする
  • 退勤時間を19:00 - 20:00に設定
    • 時間主導型、日タイマー、午後7時~午後8時に設定
  • 一番気づきやすいのでMention付きでSlackに通知
  • 出来る限り簡単に実現する

開発環境

  • Google Apps ScriptをGoogle Drive上で実行
    • JavaScriptと見た感じ変わらない
  • ブラウザ上で開発
    • Google DriveにGoogle Apps Scriptアプリを追加

apps_script_1.png

開発方法

Google Apps Scriptファイルの作成

  • Google Driveの「新規作成」から「その他」-> 「Google Apps Script」を選択

apps_script_2.png

コードを書く

Spreadsheets、Documentsの要領でエディタが開くのでコードを書く。ファイルの作成からコードを書いて実行するまでの流れはこちら記事がとても参考になります。

apps_script_3.png

SlackのAPIを叩いてみる

Slackへの通知はSlack APIを利用します。
- https://api.slack.com/methods/chat.postMessage

Google Apps Scriptの組み込みのメソッドUrlFetchAppを使うとHTTPリクエストが発行できます。リファレンスはこちらtokenここらへんから入手しましょう。channelは指定すると特定のchennel宛にメッセージを遅れます。channel名ではなくC0123456abのようなIDになっています。channels.listで確認するのが簡単です。

function myFunction() {

  var options = {
    "method" : "POST",
    "payload" : {
      "token": "YOUR_SLACK_TOKEN",
      "channel": "CHANNEL_NAME",
      "text": "@horie 退勤しましょう。\nhttps://hoge.html",
      "mrkdwn": true,
      'link_names': 1
    }
  }

  var url = "https://slack.com/api/chat.postMessage"
  UrlFetchApp.fetch(url, options);
}

myFunctionを選択して実行ボタンを押すとSlackに通知されるはずです。

apps_script_4.png

うまくいくと↓のように通知されます。

apps_script_5.png

実行時間のスケジューリング

メニューの「リソース」から「現在のプロジェクトのトリガー」を選択します。するとダイアログが表示されるのでトリガーを追加します。時間主導型、日タイマー、午後7時~午後8時を選択し保存します。これで毎日午後7時~午後8時に通知されるようになります。

apps_script_6.png

まとめ

  • Google DriveとGoogle Apps Scriptを利用することでサーバーレスで定期実行ができました。
  • 打刻を忘れないようにしましょう!

参考資料

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7