slackのstatusを更新するやつを利用してみた

2017-05-22  /  SlackGASJavascript

こちらの記事を読んで早速試してみた。

Google カレンダーと Slack ステータスをワンクリックで連携できるアプリを Google Apps Script で書いた - 詩と創作・思索のひろば

基本的にはそのまま使えるけど、少し修正した。
GAS を使って Slack と連携するためのやり方が勉強になった。

プライベート予定をスルーする

そもそも会社のカレンダーで同僚に公開できないような予定を管理するのはどうなん?というのはあるものの、まぁだからといって表示していいものでもないのも確かにそうなので。

Event の Visibility が PRIVATE の時にはスルーするようにした。

他人の出退勤の予定をスルーする

社内の運用で、特に出退勤に関する予定をチームメンバーにも登録するというのが定着している。例えば、

といったタイトルで登録されている。

終日予定で登録されていれば良いのだけど、休んでいる時間帯で登録する人もいる。その時間になると、slack の status がみんな同じ他人の休みを表示してしまって使い物にならない。

他人から登録された予定を弾いたら良いかと思ったが、ミーティングの予定は主催者が参加者をゲストとして登録することがある。仕方ないので、タイトルのキーワードマッチで弾くようにした。

let IGNORED_COLLEAGUE_EVENT_REGEX =
  /^[出帰退]社|早退|休み|時間休|[hH]休|半休|午[前後]休|健康診断|外出|移動$/;

その他

登録の都合上予定がかぶることがあって、そういうときにどちらかしか表示されないようになっているので、そこをどうにかしたい。あとは、勤怠情報をつぶやく専用チャンネルがあるので、そこに「今日は A さん がおやすみです」とか投稿できるようにしたい。

修正したやつはこちら。

https://github.com/motemen/gas-google-calendar-to-slack-status-farm/compare/master...kawaken:add-conditions-to-ignore