Finish the executing tasks Workflow : hkob の雑記録 (149)

はじめに

hkob の雑記録の第149回目は、Alfred の Workflow 紹介に戻ります。現在実行中のタスクを終了する Finish the executing tasks Workflow を解説します。

これまでの Finish the executing tasks Workflow

Finish the executing tasks Workflow は現在実行中のタスクを終了するだけのワークフローです。Workflow は以下のようになっています。後段の部分はこれまでと同様に Prefab に置き換えました。「finish」とすると実行しているタスクが終了します。一つ一つの設定を詳しくみていきます。

Finish the executing tasks Workflow

最初の finish はこれまでと同様にキーワードなので特殊なことはしていません。引数はありませんので、No Argument になっています。

Keyword (finish)

Run Script は以下のようになっています。今回は Next step にチェックが入っている全てのページに対して、チェックを外すだけです。その後、TOP_PAGE を返します。TOP_PAGE は https で書かれているので、notion に書き換える処理を実施した後で、URL を開きます。

Run Script action

スクリプトは以下のようになっています。

require "notion_ruby_mapping"
include NotionRubyMapping
pname = "Next step"

NotionRubyMapping.configure { |c| c.token = ENV["NOTION_API_KEY"] }
db = Database.find ENV["TASK_DB_ID"]
cp = db.properties[pname]
db.query_database(cp.filter_equals(true)).each do |p|
  p.properties[pname].checkbox = false
  p.save
end
print ENV["TOP_PAGE"]

Workflow の改修

特に今回は修正するところは多くないです。TOP_PAGE はそもそも notion で開くので、変数自体を notion:// に修正してしまいました。

environment variable (TOP_PAGE)

最終的にワークフローは Replace が外れただけで、大きな変更はありません。

改修後の Workflow

ちなみに、こうやってチェックボックスが外されたタスクは Set end time データベースオートメーションにより、終了時刻のセットと Status を Completed に変更する処理が行われます。

hkob.hatenablog.com

おわりに

Finish the executing task は現在実行中のタスクを全て終了する Workflow です。会議や授業などが終了時に Alfred から「fin」とするだけでタスクが完了するので非常に便利です。

hkob.notion.site