こんにちはjunyaです。
本日はSlackで勤怠管理ができる「みやもとさん」の導入について書きます。
弊社はリモートワークしているスタッフさんも居ます。個々のスタッフさんの勤怠状況についてはとやかく言うのは好きではないですし、これを書いているjunya本人が時間に縛られるのが大嫌いなのでこれまでは勤怠についてはスタッフさんの裁量に任せて「基本自由」にしてきました。
しかし、お仕事の話をしていただける会社様からすれば自由な勤怠というのは不安でしかないというのも事実です。これまでにも何度か「どうやっていますか?」と聞かれたことがあります。
基本自由はそろそろ考えなおしたほうが良いかな、ということで「みやもとさん」を導入しました。みやもとさんの作者は予約/顧客台帳サービスを提供しているトレタのCTOとして活躍している増井さん。このみやもとさんはトレタさんの勤怠管理として使われているそうです(今もかな?)。
さて、前置きが長くなりました。導入の手順についてです。
現バージョンでは初期化スクリプト起動中に休日を取得するURLが403でエラーが発生して処理が止まってしまいます。そこで該当箇所を削除して手作業で休日を設定しました。
まず、main.gsに以下差分をあてます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
--- main.gs.O 2014-10-26 22:28:54.000000000 +0900 +++ main.gs 2016-04-20 17:14:07.000000000 +0900 @@ -608,15 +608,6 @@ settings.set('無視するユーザ', 'miyamoto,hubot,slackbot,incoming-webhook'); settings.setNote('無視するユーザ', '反応をしないユーザを,区切りで設定する。botは必ず指定してください。'); - // 休日を設定 - var url = 'http://www.google.com/calendar/feeds/japanese@holiday.calendar.google.com/public/full-noattendees?alt=json&max-results=1000&start-min='+DateUtils.format("Y-m-d", DateUtils.now()); - var data = JSON.parse(UrlFetchApp.fetch(url).getContentText()); - var holidays = _.map(data.feed.entry, function(e) { - return e['gd$when'][0]['startTime']; - }); - settings.set('休日', holidays.join(', ')); - settings.setNote('休日', '日付を,区切りで。来年までは自動設定されているので、以後は適当に更新してください'); - // メッセージ用のシートを作成 new GSTemplate(spreadsheet); |
その後はREADME.mdの手順にしたがって準備を進めます。(最近のSlackは管理UIの見た目が変わっているので適宜読み替えて設定を進めてください)
「みやもとさんの設定」のところまで進んだら、 “_設定” シートのA4に”休日”を入力、B4に次の休日を適当に入力、C4に”日付を,区切りで。来年までは自動設定されているので、以後は適当に更新してください”を入力してください(C4の文字列は不要かもしれないですが…)。この手順がmain.gsの削除した処理にあたります。
これでみやもとさんが動かせるようになりました。
カジュアルにSlackで勤怠報告ができるのは良いですね。ではまた。
この手順はqiitaにもまとめました。