nakaoka3の技術ブログ

2023年中に52本なにか書きます

Raycastから勤怠管理システムの打刻を行う

勤怠管理システムのWebページの反応が遅い。ボタンをクリックしたけど打刻できていませんでした、ということがよくある。そのため後で修正する作業が必要になっている。本来必要のない仕事が発生してるのでなんとか減らしたい。勤怠の修正には承認フローが走るので、自分だけではなく他の人の作業も発生してしまっているだろう。なので勤怠管理システムのAPIを叩いて打刻することにした。ランチャーアプリのRaycastにAPIを叩くスクリプトコマンドを登録して簡単に素早く打刻できるようにした。

勤怠システムのAPIを叩く

使っている勤怠システムだとAPIを使うのにはAPIトークンが必要なので勤怠システムのWebページから生成しておく。

API仕様ページを読んで、書かれているとおりに、以下のようなcurlAPIを叩くだけのシェルスクリプトを作る。

#!/bin/bash
set -euxo pipefail
token="xxxxxxxxxxxxxxxx"
# 123: 退勤
type=123
curl -X POST -H "Content-Type: application/json" \
-d "{\"token\": \"$token\", \"type\": $type }" \
"https://example.com/api"

Raycastから実行する

ターミナルから実行してもいいが、Raycastから叩くのが使いやすくてよさそうだ。Raycastはmac向けのランチャーアプリで、spotlightやAlfredのようなUIからアプリの起動や検索以外のコマンドも実行できる。Raycastで Create Script Command を実行すると簡単にシェルスクリプトが登録できる。上記のシェルスクリプトを登録する。

manual.raycast.com

退勤コマンド

これで勤怠システムのWebページの読み込みを待つ無駄な時間が削減できて、打刻漏れが減ることと嬉しい。1日使って便利に使えているが、トークンの有効期限が長くないといことに気がついたので、いい感じに更新できるようにしないと不便そうだ。