evacを使ってスケジュール(iCal)をSlack経由で通知する
evacを公開した時のエントリで、iCalの予定を読み込んでMac上のgrowlに通知する等を紹介したのですが、ペパボ社内でSlackが使われる様になったので通知をSlackに移しました。
やり方としては自分用のチャンネルをSlack上に開設してmention付きで通知させることでMacの前で作業しているときはSlackのnoticeで通知され、ミーティング等でMacの前にいない場合もiPhoneにプッシュ通知されるので便利。(だと思います。)
ペパボでは誰でも利用できる形でtakosanが用意されているので、evacのikachanプラグインを使うことでslack通知させることができます。
といったフローになります。
$ npm install -g evac
でevacはインストールができますので、以下の様なレシピを用意します。
ここでは実行時点から1時間以内の予定を通知対象にします。
in: ical: url: http://〜/****.ics within: 1 out: ikachan: url: http://****** join: false channel: "#evactest" message: "@hideack __word__"
あるいは、incoming webhook が確保できればそちらを使うこともできます。
in: ical: url: http://〜/****.ics within: 1 out: slack: url: https://hooks.slack.com/services/****/****/**** format: "@hideack __word__"
こういったYAMLファイルを用意した上でcron等で定期的に以下の様な形でevacに設定を渡すと...
$ evac /home/hideack/evac/plan-notice.yaml
以下の様にslack上で予定が通知されます。
これできっと「あ!」っということが減るはずです。