HourStackでタスクと時間の管理をしている。
HourStackは、Zapierと連携が出来て色々自動化出来るので、Googleカレンダーで作ったEntryはプロジェクトを自動で付けるようにした。
- HourStackのEntry CreatedをTriggerに選ぶ
- Source Prov が google-calendar のときのみ実行するようにフィルタ
- Project が Does not exist のときのみ実行するようにフィルタ
- GoogleカレンダーからFind Event
- Search Termに作成したEntryの Name を指定
- Start Time に Start Date と Start Timeをスペース区切りで指定
- Run Python
- Googleカレンダーの色分けからプロジェクトを決める
- Inputには Color ID, Start Date, Start Timeを指定する
- Update Entry in HourStack
Run Pythonに書くコードは以下の通り。Project IDは自分で指定する。
from datetime import datetime from dateutil import parser import math color_id = "0" if "color_id" in input_data: color_id = input_data['color_id'] start_at = '' if "start_time" in input_data: start_at = f"{input_data['start_date']} {input_data['start_time']}+00:00" project = { "0": "<Project ID>", "1": "<Project ID>", "2": "<Project ID>", "3": "<Project ID>", "4": "<Project ID>", "5": "<Project ID>", "6": "<Project ID>", "7": "<Project ID>", "8": "<Project ID>", "9": "<Project ID>", "10": "<Project ID>", "11": "<Project ID>", }[color_id] output = {'project': project, 'start_at': start_at}
HourStackのProject IDは、Update EntryでProject IDを指定しようとすると出てくる。 GoogleカレンダーのColor IDは Google カレンダーの色 - SAKI Web Design を参考にした。
Googleカレンダーの色分けとHourStackのプロジェクトの色を同じにしている。こんな感じでカラフルになってかわいい