MF勤怠自動化

2021/12/06に公開

概要

MF勤怠の出勤・退勤を自動で打刻します。
puppeteerでブラウザ操作します。(動作確認:2021/12/6)
実装内容は下記を参照頂きたく。
https://github.com/Akihide-Tsue/mf-auto

流れ(自分の場合)

  1. Googleカレンダーに「出社」「リモート」の終日予定を入れる。繰り返しで。
  2. なぜかCalender APIで正しいデータが取れなかったため予定をGASでスプシに出力。
GASに下記を登録、適当な時間をトリガーにし毎日更新する

function getEvents() {
  const calendar = CalendarApp.getCalendarById("メールアドレス");

  // 今日のイベントを取得
  const events = calendar.getEventsForDay(new Date());

  //スプシに入力
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const db = spreadsheet.getActiveSheet();
  const schedule = events[0]?.getTitle() ? events[0]?.getTitle() : "なし"
  db.getRange("A1").setValue(schedule);
}
  1. スプシを読み込んで勤務日であれば打刻し、ついでにslackへ通知。
  2. なんやかんや動作確認できたらHerokuへデプロイしましょう、buildpackと環境変数の登録とschedulerで定期実行をお忘れなく。
  3. 決まった時刻に打刻が行われる。

以上です。

年間削減時間

打刻に1日30秒かかるとすると、年間で2時間くらい削減できますね。
何より打刻忘れが無くなったのが大きいです。

Discussion