はじめまして、先日のアドベントカレンダーの時期にセンスタイムジャパンに入社してきました、石田です。
もともとドライブが好きなこともあり、常総「AI・自動運転パーク」でテスト車両を運転する日々を楽しく過ごさせていただいています。
本記事はQiitaとの同時投稿で、勤怠システムに関するTipsをご紹介します。同じシステムはもちろん、似たシステムにも活用できると思いますので、ご活用いただければ幸いです。
実現したいこと
センスタイムジャパンでは勤怠管理に IEYASU というシステムを使っています。
追記:「HRMOS勤怠 by IEYASU」に名称が変わりました
個人的に転職したばかりで、前職のものよりはるかに使いやすいシステムのため、日々感謝しております。
ただ1点感じたのは、出退勤時間を打刻するだけなら少し手間が多いことです。
- PC/スマホのロックを解除する
- Webアプリ/ネイティブアプリを開く
- 社員番号とパスワードを入力し、ログインする(Webアプリの場合は都度必要)
- 「出勤」または「退勤」ボタンを押す
このボタンを押すためだけにこれだけのステップを踏むのは、毎日となるとちょっと面倒です。そこで、なるべく簡単に済むようにしました。
なお、手元にあるのがiPhoneのためiOSの例となりますが、Androidでも似たことが可能のようです。
作戦
IEYASUにもAPIはありますがTokenの有効期限があるため、再発行の手間を考えて今回は避けます。
代わりに、IEYASUとSlackの連携機能を利用します。
IEYASUのAppに対して「出勤」または「in」とチャットすることで出勤の打刻が、「退勤」または「out」で退勤ができます。
この方法には有効期限がなく、使い続けることができます。
そこで「Slackに定型文チャットを送る操作」をなるべく簡単に済ます作戦を取ります。
IEYASUとSlackの連携
なにはともあれ、まずは連携から始めます。
あとで使用するIDを取得するため、この作業はブラウザ版Slackから行います。
「App」セクションにIEYASUがいればOKです。
いない場合は、「+」ボタンから追加しましょう。
ボタンは2つありますがどちらでも同じです。
追加できたら、「IEYASU」Appとのチャットを開いた状態で、URLを確認します。
URLの書式は
https://app.slack.com/client/{ワークスペースID}/{チャンネルID}
となっているので、チャンネルIDの方をどこかにコピーしておきます。
(チャットでも、チャンネルIDと呼ぶようです。)
SlackAppの作成
続いて、このチャットに投稿するためのSlackAppを作ります。
SlackAPIのページから "Create New App" を選択し、お好みの名前をつけて保存します。
このAppは「ユーザー自身としてチャットに投稿する」ことが必要なので、そのための権限を設定します。「Permissions」をクリックし、
「User Token Scopes」の方に「chat:write」を設定します。
「Bot Token Scopes」は不要です。
以上の準備ができたら、使用するワークスペースにインストールします。
インストール後、Tokenが発行されるのでどこかにコピーしておきます。
iOSショートカットの作成
最後に、SlackAppを実行するための環境をiPhone上に作成します。
iPhoneに「ショートカット」Appをインストールし、新規作成します。
先ほどのチャンネルに投稿するためには、chat.postMessageメソッドを使います。
curl -X POST -d 'token={token}' -d 'channel={channel_id}' -d 'text={text}' 'https://slack.com/api/chat.postMessage'
iOSショートカットでcurlコマンドに相当するのは「URLの内容を取得」というアクションで、このように設定します。textに「in」と入れているので、この場合は出勤となります。
さらに、出勤と退勤の時間はだいたい決まっているので、こちらの方法を利用して、1ボタンで出勤と退勤がどちらも打てるようにします。
最終的に出来上がったのがこちらです。6時〜14時なら出勤、それ以外なら退勤の登録を行います。
できたら、最後にショートカットをお好きな位置に配置します。
私はロック画面から使えるようにしたいので、ウィジェット画面に配置しています。
最後に
以上で完成です。
これで、iPhoneのロック画面からでも勤怠登録ができるようになりました。
私は手動トリガーで運用していますが、GPSやNFCタグも設定できますので、勤務形態に合わせて設定していただくとさらに便利かと思います。
なお、「ショートカット」AppはmacOS(Monterey以降)にも対応しています。私の場合、Macが目の前にある場合はわざわざiPhoneを取り出す方が面倒だと感じるので、メニューバーからも実行できるようにしています。もちろんシェルスクリプト等にすればMac以外でも実行可能なので、環境に合わせてご活用ください。
参考
- ショートカット ユーザガイド - Apple サポート
- iOS12で追加されたショートカットを使って会社のslackに遅刻の連絡をする - Qiita
- 【iOSショートカット】時間ごとに動作を変える | 生焼けプログラマーの雑記帳
投稿者プロフィール
- 先進運転技術部システム第一グループ所属リサーチャー。機械工学・人間工学がルーツですが、心機一転でこの業界に飛び込んできました。趣味は写真・ゲーム。
最新の投稿
- 2022.02.14STJスマホから2タップでIEYASU(HRMOS)に勤怠登録する