Power Platform のソリューションをテスト環境や本番環境にリリースする際、リリースの前に承認を設けてから展開したい時があるかと思います。
その機能がPower Platform パイプラインの機能に組み込みで、かつカスタマイズ可能で提供されています。
今回はその機能をご紹介いたします。
目次
マネージド環境
マネージド環境については以下の記事で照会しています。
パイプラインの設定方法
以下の通りパイプラインを設定することが出来ます。
Power Platform でのパイプラインの設定 – Power Platform | Microsoft Learn
パイプラインの承認の設定
承認ステップは以下に設けることが出来ます。

例えば以下のようにリリースする場合、全社テスト環境にリリースする前、そして全社本番環境にリリースする前に承認フローを設けることが出来ます。

Power Platform でパイプラインを拡張する – Power Platform | Microsoft Learn
動き
動きとしては、一度保留になります。

承認されたら、展開が実行されます。

以下よりMicrosoft が提供しているサンプルソリューションを入手することが出来ます。
https://aka.ms/DownloadPipelinesExtensibilitySamples
サンプルソリューションのインストール
入手したサンプルソリューションはZipファイル形式のままホスト環境(パイプラインのモデル駆動型アプリがインストールされている環境)にインポートします。
展開パイプラインを選択して、最初の展開ステージを選択します。

「エクスポート前の手順が必要です」にチェックを入れます。

これにより開発環境からの展開時にイベントが起動するようになります。
ただし、これだけでは承認ワークフローは起動しません。先程のサンプルフローを設定して承認ステップを追加します。
サンプルソリューションのカスタマイズ
インポートしたサンプルソリューションの中を見ていきます。

以下のようなクラウドフローは含まれています。

今回はOnDeploymentRequestedSampleのフローを変更していきます。

トリガーの設定には特定のパイプラインのときにしか起動しないという設定が入っていますので、削除します。

削除しました。これにより、全パイプラインについてトリガーが発動するようになります。

メールアクションの本文をコピーしておき、アクションを削除します。さらに、’承認’アクションを追加して、本文をペーストします。
アイテムリンクにはStage Detailsを入れるとよいでしょう。パイプラインのモデル駆動型アプリへのリンクが入っています。

承認後のDataverse アクションを追加する
ここで条件を追加します。
もし承認されたらソリューション展開を実行させます。否認となったら停止します。
展開OKのときはステータスを20に設定します。

展開NGのときはステータスに30と設定します。

テスト
こちらで実行してみますい。

環境へのソリューション展開リクエストが届きました。問題なければ承認を行います。
結果、このようにワークフローが動きます。

これにより実際に展開が行われます。

以上、ご参考になれば幸いです。