【Power Automate入門】備品購入申請システム#4 ~開発環境を作る!ソリューション・環境変数・接続参照とは?
Power Automateの「備品購入申請システム開発」シリーズの第4回目ですぞ!
第4回目の今回は、開発に入る前の準備として、「開発環境を整備する」ところをやっていきます。
第3回目では、現状の業務の課題整理から、要件定義、フローのアルゴリズム設計、テーブル設計まで、システム開発の「上流工程」を一気にやっていきました。
第4回目の今回は、フローを作り始める前に必要な「環境」「ソリューション」「接続参照」「環境変数」という4つの仕組みを理解し、実際に作りながら、開発の土台を整えていきましょう!
- なぜ開発環境と本番環境を分けるのか
- ソリューションとは何かとALMの考え方
- 接続参照と環境変数の仕組み
Power Automateについて詳しく学びたい方は、ぜひパワ実のPower Automate入門書もご覧ください!
YouTube動画で見たい方は、こちらからどうぞ!
今回実施するところ
このシリーズでは、Power AutomateとPower Appsを使って、申請・承認フローを一から作っていきます。
第4回となる今回は、③のシステム開発に入る前の準備として、開発の「環境」を整えます!

フローの開発に入る前に、環境やソリューションなどを決めておく必要があります。
さらに、事前に必要な接続参照や環境変数を洗い出しておくことで、スムーズに開発を進めることができます。
今回作る環境やソリューションは、⑤のリリース・運用のステップで、本番環境へ持っていくときに、そのまま使いますぞ!
なぜ開発環境と本番環境を分けるのか
環境とは?
「環境」とは、組織のデータ・アプリ・フローを、保存・管理・共有する場所のことです。

A社というテナント、つまり1つの組織の中には、複数の環境を作ることができます。
最初から「既定の環境」が1つ用意されていて、開発用の環境や本番用の環境を、あとから追加で作ることができます。
環境の中には、このあと説明する「ソリューション」という箱があり、その中にアプリやフロー、データベースが入っています。
開発用環境で作ったソリューションを、本番用環境に「デプロイ」(配置)するという流れを、今回のシリーズで体験します。
環境の種類
環境には、6つの種類があります。
- 実稼働:実運用を行う本番環境
- 既定(Default):テナントに必ず1つある特別な環境。すべてのユーザーがアクセス可能で、検証や軽量なアプリの試用開発向け
- サンドボックス:開発や、本番運用前のテスト・検証に使う環境
- 試用版:短期間の個人検証・新機能の評価用。30日後に自動削除
- 開発者:開発者プランのライセンスを持つ人が、自分専用に作れる環境
- Dataverse for Teams:Teamsのチームに1対1で紐づく環境
今回のシリーズでは、開発用にサンドボックス環境を作り、リリース時は、本番用に実稼働環境を使う、という形で進めます。
動いているフローを直接修正するリスク
では、なぜ開発環境と本番環境を分けるのでしょうか?
理由は、「動いているフローを直接いじる」ことに、リスクがあるからです。
- システムが止まる
修正の途中でフローがエラーになると、その間に申請された分が課長や部長に届かなくなる - 本番データを壊す
テストのつもりで実行したら、本番環境のSharePointリストを更新・削除してしまう - 修正を元に戻せない
「昨日までは動いていたのに…」となっても、修正前の状態が残っていないと戻せない
どれも、本番環境で直接改修作業などをしていると、発生しうることです。
既に稼働しているフローを直接修正したくないですぞ…
これを防ぐために、「開発環境」と「本番環境」を分けておく必要があります。
開発環境と本番環境を分ける
今回は、2つの環境に分けます。

そして、開発環境で確認できたフローを、本番環境へ「移す」作業は、リリース回でやっていきます。
開発環境を作成する
では、実際に開発環境を作っていきます。
環境は、「Power Platform 管理センター」画面から作ります。

- 名前:PA入門_開発
- 種類:サンドボックス
- 地域:日本
- Dataverseを追加:はい
- セキュリティグループ:なし(後から設定可)
1.Power Platform 管理センターの左の「管理」から「環境」を開くと、このテナントにある環境が一覧で表示されます。
上の「新規」を押すと、右側に作成の画面が出てくるので、上記の設定で作成します。

2.以下のように入力し、「次へ」をクリックします。


3.セキュリティグループは、なしにして、「保存」します。

4.保存すると環境の作成が始まり、一覧に「PA入門_開発」が「準備中」で追加されます。数分待って「準備完了」に変わればOKです。

5.Power Automateの画面の右上の「環境」というところに、いまいる環境の名前が表示されます。
ここをクリックすると環境を切り替えられるので、「PA入門_開発」を選びます。

マイフローを開くと、まだ何のフローもない状態です。既定の環境とは、完全に分かれているということですね。
フローを作る前には、必ず正しい環境にいるかを確認しましょう!
ソリューションとは?
ソリューションとは
ソリューションとは、Power Appsアプリ、Power Automateフロー、Copilot Studioエージェント、Dataverseのテーブル、接続参照などを、1つのパッケージとしてまとめて置けるものです。

1つの環境の中に、ソリューションAやソリューションBといった箱があって、それぞれの中にアプリやフローが入っている、というイメージです。
ソリューションには、2つの種類があります。
アンマネージドソリューションとマネージドソリューション
- 開発中の「編集できる箱」
- 開発環境で使い、中身を自由に編集できる
- 配布用の「編集できない箱」
- 開発が終わったあとのテスト環境や、本番環境で使う
- 中身は直接編集できない。修正したいときは、開発環境で直して、もう一度インポートし直す
本番で直接編集できない、というのは、さっきの「直接修正するリスク」の話と、つながっています。
「本番では直接いじらない」という仕組みとして強制してくれるのが、マネージドソリューションですな!
今回作るのは、開発環境のため、アンマネージドソリューションです。リリース時は、これをマネージドソリューションとしてエクスポートして、本番環境にインポートします。
ALMを考えた環境の設計
ここで、「ALM」という言葉を説明しておきます。
ALMは、アプリケーションライフサイクル管理の略で、アプリケーションの開発から、リリース・運用・更新までを、一貫して管理する考え方のことです。
「すなわち、開発から本番までの流れを、環境とソリューションで管理すること」と考えてよいと思います。

開発、テスト、本番リリースの流れを前提にすると、一般的にはこのような環境設計になります。
- サンドボックス環境①(開発用):アンマネージドソリューションで、フローやアプリを作る
- サンドボックス環境②(テスト用):マネージドソリューションを入れて、本番と同じ条件で確認する
- 実稼働環境(本番用):マネージドソリューションとしてリリースする
「環境」は場所を分ける仕組みで、「ソリューション」は部品をまとめて運ぶパッケージです。
今回のシリーズは、シンプルにするため、テスト環境は省略して、開発・テスト用のサンドボックス環境と、本番用の実稼働環境の、2段階で進めます。
小規模なシステムでは、このように開発とテストをまとめるケースもあります。ALMという言葉も、ぜひこの機会に覚えておいてください!
ソリューションを作成する
では、ソリューションを作っていきます。
- 表示名:PA入門_申請承認フロー
- 名前:PAIntro_PurchaseApproval
- 発行元:PA入門(プレフィックス:pai)
- バージョン:1.0.0.0
1.左のメニューから「ソリューション」を開き、「新しいソリューション」をクリックし、上記の設定に沿って入力します。


2.発行元は、「新しい発行元」から新しく作ります。
表示名は「PA入門」、名前は「PAIntro」、プレフィックスは「pai」にします。
3.バージョンはそのまま1.0.0.0で、「作成」を押します。
ソリューションができました。このソリューションの中に、これから接続参照、環境変数、フロー、アプリを作っていきます。
接続参照とは?
「接続」とは
まず、第2回で学んだ「コネクタ」を思い出してください。SharePointやTeamsといったサービスとつなぐための部品が、コネクタでした。
そのコネクタは、「誰のアカウントでつなぐか」という情報を持っていて、これを「接続」といいます。

画面で見ると、このように、SharePointコネクタは、パワ実のアカウントで接続している、という形です。
ここで、困ることがあります。
開発環境では自分のアカウントで動かしたいけれど、本番環境では運用担当のアカウントで動かしたい、というように、環境によって接続を切り替えたいことがあります。
ところが、ソリューション外で作ったフローでは、接続がフローの中に直接埋め込まれているため、修正したい場合、フローを1つずつ開いて直すことになります。
接続参照の仕組み
そこで、接続参照を使います。
接続参照は、接続をフローに直接埋め込まず、「参照先」として一段かませる仕組みです。

フローは、「SharePoint用の接続参照」を見に行きます。
そして、実際に「誰のアカウントでつなぐか」は、接続参照が持っています。
開発環境ではパワ実の接続、本番環境では運用担当の接続、というふうに、接続参照の中身だけを差し替えれば、それを見ている、すべてのフローの接続が、一度に切り替わります。
接続参照を作成する
では、接続参照を作っていきましょう!
- SharePoint接続:SharePointコネクタ
- Teams接続:Microsoft Teamsコネクタ
- Approvals接続:Approvalsコネクタ
1.ソリューションの中で、「新規」から「その他」、「接続参照」を選びます。

2.表示名は「SharePoint接続」、件名は「SharePoint」を設定し、コネクタは「SharePoint」を選択します。
まだ接続がない場合は、ここで「新しい接続」を作り、「作成」します。

同じ手順で、Teams、Approvalsの接続参照も作ります。



さっき作った「SharePoint接続」の接続参照が、自動で選ばれています。
ソリューションの中でフローを作ると、このように、接続参照を経由して接続する形になります。

環境変数とは?
「変数」との違い
第2回で「変数」を学びましたが、環境変数は、名前が似ているだけで、まったく別のものです。
- フローの中にあって、実行中の一時的な値を入れておく箱(保存先のフォルダパス、カウンタなど)
- フローが実行されるたびに値が決まり、フローの処理の中で値が変わる
- ソリューションの中、つまりフローの外にある
- 「環境ごとに変わる設定値」を設定する(SharePointのサイトURL、SharePointリスト、通知先など)
- 環境ごとに1回決めておいて、変えるときは、管理者がフローを直さずに値だけを変える
「フローの中の一時的な値」が変数、「フローの外の、環境ごとの設定値」が環境変数ですな!
何を環境変数にするか
では、今回のシステムで、何を環境変数にするかを決めます。
判断基準はシンプルで、「開発環境と本番環境で、値が変わるかどうか」です。

一方、承認のしきい値、30万円は、開発環境でも本番環境でも同じです。
そのため、今回は、しきい値はフローの中に直接書くことにします。
ですが、たとえば「このシステムをパッケージとして、複数の他社にも提供する」というケースでは、
しきい値をあえて環境変数にしておいて、「導入するときに、値だけ設定してもらう」という作り方をする場合もあります。
環境変数を作成する
では、環境変数を作っていきましょう。
- SharePointサイトURL:データソース型/既定値:テスト用サイト
- 申請一覧リスト名:データソース型/既定値:テスト用リスト
- 通知先アドレス:テキスト型/既定値:自分のメールアドレス
1.ソリューションの中で、「新規」から「その他」、「環境変数」を選びます。

2.1つ目は「SharePointサイトURL」です。データ型は「データソース」、コネクタはSharePoint、接続は自分の接続、パラメーターの種類は「サイト」にします。

「データソース」型は、SharePointのサイトやリストを、一覧から選べる便利な型です。
こうすると、既定値のところで、サイトを一覧から選べるようになりますので、テスト用のサイトを選びます。
※SharePointサイトを作っていない場合、適当に選択しておきます
3.「申請一覧リスト名」と、「通知先アドレス」の環境変数も同様の手順で作成します。


開発中は、通知が全部自分に届くようにしておく、ということですね。

これで、開発環境と本番環境で、フローを直さずに、環境変数の値を変えるだけで、参照先のサイトとリストを切り替えられるようになります。
実際のフローでは、次回以降、この形で作っていきます。
接続参照と環境変数の一覧
最後に、今回作った接続参照と環境変数を、一覧で確認します。
| 種類 | 表示名 | 内部名 | 開発環境の値 | 本番環境の値 |
|---|---|---|---|---|
| 接続参照 | SharePoint接続 | pai_SharePoint | パワ実の接続 | リリース時に設定 |
| 接続参照 | Teams接続 | pai_Teams | パワ実の接続 | リリース時に設定 |
| 接続参照 | Approvals接続 | pai_Approvals | パワ実の接続 | リリース時に設定 |
| 環境変数 | SharePointサイトURL | pai_SharePointSiteURL | テスト用サイト | リリース時に設定 |
| 環境変数 | 申請一覧リスト名 | pai_RequestList | テスト用リスト | リリース時に設定 |
| 環境変数 | 通知先アドレス | pai_NotifyAddress | パワ実のアドレス | リリース時に設定 |
開発環境では、テスト用の値が入っています。本番環境の値は、リリース時、ソリューションをインポートするときに設定します。
この一覧があると、「本番に持っていくときに、何を変えればいいか」が、一目で分かります。
この一覧は、実装前の設計段階で決めておく必要がありますぞ!実務でやるときは、この一覧も設計書に入れておくのがおすすめですな。
さいごに
この記事は、Power Automate入門の「申請・承認フロー開発シリーズ」の4回目で、開発に入る前の準備として、「環境」「ソリューション」「接続参照」「環境変数」の4つを学びました。
おさらいすると、以下のようになります。
- 開発環境と本番環境を分けて、「開発する場所」と「本番運用の場所」を切り離す
- ソリューションは、フロー、アプリ、接続参照、環境変数などをまとめる「パッケージ」
- 接続参照と環境変数は、環境ごとに値を変えることができるので、本番に移すときは、この2つを差し替えるだけで済む
「マイフロー」に直接フローを作っている方は、ぜひソリューションの中で作る習慣をつけてみてください。
次回は、いよいよ実装ですぞ!今回作ったソリューションの中に、申請・承認フローの骨格を作っていきますぞ!










