3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power Automateのフローを複数のリストで再利用するテクニック

Last updated at Posted at 2022-05-25

はじめに

Power Automateのフロー(以降はフローと記載)を複数のリストで再利用するテクニックとして、以下の2種類を組み合わせたフローの作成方法と流用方法を紹介します。※1

・変数を使用したフロー
・SharePoint Online (以降はSharePoint と記載)アイテム更新フロー

※1 2022/2/1時点の製品仕様を基に記述します。

対象読者

SharePointとPower Automateについて、以下を理解している前提で記載しています。

・SharePoint
 ・カスタムリストの作成方法
 ・カスタムリストのリストと列内部名

・Power Automate
 ・フローの組み立て方

1.フローで変数を使うメリット

SharePointのアイテム更新フローで変数を使うと、同じようなフローを作成する際に工数及びミスを削減できます。ここでは、変数無しフローと変数有りフローの流用時の違いを記載します。

1.1 変数無しフローの流用
フローを作成する際、アクションのパラメータ設定が必要です。作成したフローを流用する場合は、作成済みのフローをコピーし、コピーしたフロー内のパラメータを修正する必要があります。

通常、SharePoint関連のアクションでは、カスタムリスト情報(リストURLやリスト名)を直接パラメータ設定する必要があります。そのため、フローを流用した際は以下の図のように直接パラメータ設定した箇所全てを修正する必要があります。
変数無しフロー流用例.png

1.2 変数有りフローの流用
変数を使用したフローを流用した場合を想定します。以下の図のように各アクションは変数のパラメータを参照するため、設定した変数のパラメータを変更するのみとなります。そのため、大幅にパラメータ変更箇所を減らすと同時に、変更数の多さによるミスを減らすことが可能となります。
変数有りフロー流用例.png

2.変数を使ったフローの作成

変数を使用したSharePointアイテム更新フロー作成手順を紹介します。ここでは、カスタムリストとフローを用意します。本フローはカスタムリストのアイテムが作成/更新された時、「テスト列」列の値を空欄から「テスト」の文字列に変更します。
サンプルリスト.png

2.1 カスタムリストの作成
以下のようなカスタムリストを作成します。

No. 項目名
(表示名)
内部名 ※2 種類 列の種類 備考
1 テストリスト TestList カスタムリスト カスタムリストを作成したサイトのアドレスは以下と仮定します。
URL:https://○○/sites/▲▲
2 タイトル Title 1行テキスト列 本列は既存列です。
3 テスト列 TestCol 1行テキスト列

※2 半角英数字(記号を含まない)のみの名前にします。

2.2 変数で設定したフローを作成
以下のようなフローを作成します。
全体画像.png

1)「アイテムが作成または変更されたとき」トリガー
トリガーを作成します。本トリガーはカスタムリストでアイテムの新規作成/更新が行われたかを検知します。
トリガー.png

2)「変数を初期化する」アクション
「サイトのアドレス」、「カスタムリスト表示名」、「カスタムリスト内部名」を設定した変数を作成します。
変数.png

3)「条件」アクション
アイテムの更新可否を決める条件分岐を作成します。以下の設定により、本フローのアイテムの更新が1度しか動作しません。そのため、無限ループを避けることができます。
条件分岐.png

4)「SharePoint に HTTP 要求を送信します」アクション
「条件」アクションの「はい」アクション内に、アイテムの更新を行うアクションを作成します。

No. 大項目 小項目 パラメータ ※3
1.0 サイトのアドレス 「サイトのアドレス変数」
2.0 方法 POST
3.0 URI _api/web/lists/GetByTitle('「カスタムリスト表示名変数」')/Items('「アイテムが作成または変更されたときトリガーの対象アイテムID」')
4.1 ヘッダー Accept application/json; odata=verbose
4.2 ヘッダー Content-Type application/json; odata=verbose
4.3 ヘッダー X-HTTP-Method MERGE
4.4 ヘッダー IF-MATCH *
5.0 ボディ {"__metadata":{"type":"SP.Data.「カスタムリスト内部名変数」ListItem"},"TestCol":"テスト"}

※3 エンターキーなどの改行コードは入れないようにしてください。

HTTP要求アクション.jpg

変数の入力は、アクション内の枠をクリック後、表示されるダイアログから変数を選択することで可能です。
変数登録方法_赤枠付き.png

以上により、カスタムリストとフローは完成となります。

3.フローの流用

「2. 変数を使ったフローの作成」で作成したフロー流用手順を紹介します。

3.1. フローの流用先カスタムリストの用意
フローの流用先カスタムリスト(以降、流用先カスタムリスト)を用意します。

No. 項目名
(表示名)
内部名 ※4 種類 列の種類 備考
1 テストリスト2
※5
TestList2 ※5 カスタムリスト 流用先カスタムリストを作成したサイトURLは以下と仮定します。
URL:https://●●/sites/■■
2 タイトル
※5
Title 1行テキスト列 本列は既存列です。
3 テスト列2
※5
TestCol 1行テキスト列

※4 半角英数字(記号を含まない)のみの名前にします。
※5 値の変更が可能です。

流用先リスト.png

3.2. フローの流用
作成したフローをコピーし、コピーしたフローのパラメータを変更します。

1)フローのコピー
フロー詳細 > 「名前を付けて保存」> 「このフローのコピーを作成する」ダイアログを開きます。
フロー詳細画面.png

「このフローのコピーを作成する」ダイアログでフロー名を登録し、「保存」ボタンをクリックします。
コピーフロー名.png

2)フローのパラメータ変更
コピーしたフロー内の各パラメータを変更します。変更が必要なアクションは「アイテムが作成または変更されたとき」トリガーと、「変数を初期化する」アクションとなります。各アクションのステータスは、流用先カスタムリスト情報を基に変更します。
コピーフロー変更箇所.png

今回作成したフローの場合、流用時に変更するパラメータの数は変数を使用しないフローと同じ5箇所となります。ただし、「SharePoint に HTTP 要求を送信します」アクションが4つに増えた場合、変数を使用しないフローは14箇所もパラメータを変更する必要がありますが、変数を使用したフローは5箇所のみとなります。

まとめ

Power AutomateとSharePointの連携機能はよく知られていますが、フローを流用前提としたフロー作成方法の記事は少ない印象です。変数を使うことで効率的なフロー作成の手助けになれば幸いです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?