rksoftware

Visual Studio とか C# とかが好きです

Power Automate のワークフロー関数の Workflow 関数を確認する (2)

この記事は次の記事の続きです。
rksoftware.hatenablog.com

■ フロー自体の情報を取得したい

Power Automate のフローの実行 ID や名前を記録したいこと、あると思います。そんな時は次の記事が役に立つかもしれません。
rksoftware.hatenablog.com rksoftware.hatenablog.com

これらの記事で使っている関数の Workflow 関数の公式説明は次にありました。しかし実際に何が取得できるのかあまりドキュメントに記載がありません。そこで実際に動かして確認して行こうと思います。
docs.microsoft.com

■ 取得できる情報

動的なコンテンツの追加の式 ステップに直接書くとき 何が取得できるか
workflow()?['id'] @{workflow()?['id']} おそらくフローの物理的な ID。フローにかかわる URL などは name が使われているので今のことろ使う機会がなさそう
workflow()?['name'] @{workflow()?['name']} おそらくフローの物理的な ID。フローの詳細/編集/実行履歴の URL で使われている。これらの URL を算出するのに使える
workflow()?['type'] @{workflow()?['type']} おそらくフローがどのサービス内に作られているかで変わるのだと思うが、今のところは使う機会がなさそう
workflow()?['location'] @{workflow()?['location']} フローがどのリージョンで作られているかだと思う。今のところ使う機会はなさそう
workflow()?['tags/flowDisplayName'] @{workflow()?['tags/flowDisplayName']} フローの表示名。フローの一覧で見えている名前
workflow()?['tags/environmentName'] @{workflow()?['tags/environmentName']} フローが作られている環境の環境の ID。フローの詳細/編集/実行履歴の URL で使われている。これらの URL を算出するのに使える
workflow()?['tags/logicAppName'] @{workflow()?['tags/logicAppName']} name と同じ値が入っている
workflow()?['tags/environmentFlowSuspensionReason'] @{workflow()?['tags/environmentFlowSuspensionReason']} DLP の制限などに引っかかってフローが停止した理由が入りそう。単純なエラーでも入るのかな? でもこの関数が動いているということはまだ停止していないわけで。フローの中でフローの実行履歴を取得する方法があれば使えそうですが......
workflow()?['run/id'] @{workflow()?['run/id']} フローの物理的な ID と実行 ID を組み合わせたもの。フローにかかわる URL などは name が使われているので今のことろ使う機会がなさそう
workflow()?['run/name'] @{workflow()?['run/name']} フローの実行 ID。実行履歴のどの実行かがわかる。実行履歴詳細の URL で使われている。履歴表示の URL を算出するのに使える
workflow()?['run/type'] @{workflow()?['run/type']} typerun を足したもの? 今のことろは使う機会がなさそう

■ 活用実例

この関数で取得できる情報を組み合わせて Power Automate のフローの詳細/編集/実行履歴の各種ページの URL を作ることができます。

フローの詳細ページを開く URL

https://make.powerautomate.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details

フローの編集ページを開く URL

https://make.powerautomate.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}

フローの実行履歴一覧ページを開く URL

https://make.powerautomate.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/runs

フローの実行履歴詳細ページを開く URL

https://make.powerautomate.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/runs/@{workflow()['run/name']}

■ 難しいですね

難しいですね。

■ 関連記事

rksoftware.hatenablog.com rksoftware.hatenablog.com rksoftware.hatenablog.com rksoftware.hatenablog.com