⏳
MF勤怠自動化
概要
MF勤怠の出勤・退勤を自動で打刻します。
puppeteerでブラウザ操作します。(動作確認:2021/12/6)
実装内容は下記を参照頂きたく。
流れ(自分の場合)
- Googleカレンダーに「出社」「リモート」の終日予定を入れる。繰り返しで。
- なぜか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);
}
- スプシを読み込んで勤務日であれば打刻し、ついでにslackへ通知。
- なんやかんや動作確認できたらHerokuへデプロイしましょう、buildpackと環境変数の登録とschedulerで定期実行をお忘れなく。
- 決まった時刻に打刻が行われる。
以上です。
年間削減時間
打刻に1日30秒かかるとすると、年間で2時間くらい削減できますね。
何より打刻忘れが無くなったのが大きいです。
Discussion