rksoftware

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

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

この記事には後続の記事もあります。
rksoftware.hatenablog.com

■ この記事で扱うこと

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

これらの記事で使っている関数の Workflow 関数の公式説明は次にありました。
docs.microsoft.com

■ 関数で取得

で、具体的にこの関数で何が取得できるのかという話ですが、ドキュメントにあまり記載がありません。プログラマー的にちょっと困るので、実際に動かして確認してみました。
まずはドキュメントからでも十分に読み取れますが、実際に取得できる JSON を取得してきました。

{
  "id": "/workflows/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "name": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "type": "Microsoft.Logic/workflows",
  "location": "japaneast",
  "tags": {
    "flowDisplayName": "ああああああああああああああああああ",
    "environmentName": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "logicAppName": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "environmentFlowSuspensionReason": "XXXXXXXX:XXXXXX:XXXXXX:XXXXXX:XXXXXXXXXXXXXX-None"
  },
  "run": {
    "id": "/workflows/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/runs/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "name": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "type": "Microsoft.Logic/workflows/runs"
  }
}

それぞれ単独で取得するときはこんな感じですね。

動的なコンテンツの追加の式 ステップに直接書くとき
workflow()?['id'] @{workflow()?['id']}
workflow()?['name'] @{workflow()?['name']}
workflow()?['type'] @{workflow()?['type']}
workflow()?['location'] @{workflow()?['location']}
workflow()?['tags/flowDisplayName'] @{workflow()?['tags/flowDisplayName']}
workflow()?['tags/environmentName'] @{workflow()?['tags/environmentName']}
workflow()?['tags/logicAppName'] @{workflow()?['tags/logicAppName']}
workflow()?['tags/environmentFlowSuspensionReason'] @{workflow()?['tags/environmentFlowSuspensionReason']}
workflow()?['run/id'] @{workflow()?['run/id']}
workflow()?['run/name'] @{workflow()?['run/name']}
workflow()?['run/type'] @{workflow()?['run/type']}

■ 同じ要素が複数出てくる

この取得できる内容ですが、一つの要素が複数の項目に出てくるものがありました。一部のものは環境や作り方によって変わってくるのかもしれませんので利用するときにはしっかりとテスト実行してご自身のフローでどうなるか確認してください。
同じ色の四角の部分が同じ値になっている部分です。

■ 今回はここまで

長くなってきたので今回はここまで、実際の値の中身の確認は後日書きます。

書きました。
rksoftware.hatenablog.com

■ 関連記事

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