Power Platform でパイプラインを拡張する
パイプラインは、組織固有のニーズに合わせてカスタマイズできます。 たとえば、承認の追加、サービス プリンシパルを介したデプロイ、内部記録システム Azure DevOps、GitHub などとの統合が可能です。 Microsoft Dataverse ビジネス イベント が使用されるため、 Power Automate または他のさまざまなサブスクライバー内でビジネス ロジックを実行できます。 パイプラインが内部では基本的なものであっても、洗練されたものであっても、外部の作成者にとってはデプロイメント エクスペリエンスはシンプルなままです。
重要
- 新しいパイプライン拡張機能は、地域ごとに段階的に展開されており、あなたの地域ではまだ利用できない可能性があります。
- 既存のパイプライン顧客は、新しい機能を有効にするために Power Platform Pipelines アプリケーションの更新が必要になる場合があります。 Power Platform 管理センター内で更新を管理することができます。
- Power Apps 内部で作成された個人のパイプライン (make.powerapps.com) は拡張できません。
ゲート拡張機能が利用可能
パイプラインのデプロイメントは、デプロイメントが完了するまで、事前に定義された複数のステップを経て進行します。 ゲート拡張機能は、カスタム ビジネス ロジックを実行できる進行状況にカスタム ステップを挿入します。 これは自分専用の列車のようなもので、どこで停止するか、また運行するかどうかを制御できます。
有効にすると、各拡張機能は展開の進行中の異なる時点でカスタム ステップを挿入します。 拡張機能は単独で使用することも、組み合わせて使用することもできます。
事前エクスポート 手順 必須 により、デプロイメント要求が送信されたときにカスタム検証ロジックを実行できます。 このステップが完了としてマークされるまで、パイプラインは開発環境からソリューションをエクスポートしません。 これをパイプラインの最初のステージでのみ有効にします。 たとえば、ユーザー支援テスト (UAT) です。
委任されたデプロイメント は、リクエスト元の作成者のIDではなく、サービス プリンシパルまたはパイプライン ステージ所有者のIDを使用してデプロイメントを実行します。 この ID により、メーカーはターゲット環境内で昇格された (またはまったく) アクセスを必要とせずに展開をリクエストできるようになります。 承認された ID からの承認が必要です。
デプロイメント前の 手順 が必須 により、デプロイメントが承認された後にカスタム 手順 を挿入する柔軟性が高まります。 たとえば、最終承認が必要な場合です。
ゲート拡張機能を有効にすることによって挿入されたステップは、ビジネス ロジックが実行され、最終的にパイプライン ホストにステップを完了または拒否する信号を送信するまで保留状態になります。 メーカーは、展開が保留中であることを確認したり、展開の最終ステップまで展開要求をキャンセルしたりできます。
注意
マネージド ソリューション アーティファクトとアンマネージド ソリューション アーティファクトがエクスポートされると、システムはそれらをパイプライン ホストに保存し、改ざんや変更を禁止します。 バージョンごとに同じ管理対象アーティファクトが、パイプラインの後続のすべてのステージに順番に展開されます。 これにより、どのソリューションも QA 環境や承認プロセスを回避できなくなります。
パイプラインのトリガーとアクションを理解する
パイプライン デプロイメントの各ステップでは、カスタム ロジックを開始できるステップの開始時と終了時にリアルタイム イベントがトリガーされます。 ゲート拡張機能が有効になっている場合、追加のトリガーが生成されます。 これらは、パイプライン ステージで拡張機能が有効になっているときに挿入されるカスタム ステップに対応します。
ここの表は、各拡張機能に必要なトリガーとアクションを示しています。 各トリガーからの出力パラメーターは、クラウド フローの後続のステップ内で使用できます。
ゲート拡張機能 | ステップ開始トリガー | ステップ完了トリガー | 非バウンド アクション | 使用する接続 |
---|---|---|---|---|
エクスポート前の手順が必要です | OnDeploymentRequested | N/A | UpdatePreExportStepStatus | 展開ステージの実行記録を更新するためのアクセス権を持つ任意の ID |
委任された展開である | OnApprovalStarted | OnDeploymentCompleted | パイプライン ステージで構成されているように、サービス プリンシパルまたはパイプライン ステージ所有者として接続を作成します。 パイプライン ステージの所有者は、Microsoft Entra ID のサービス プリンシパルの所有者である必要があります。 | |
展開前ステップが必要 | OnPreDeploymentStarted | OnPreDeploymentCompleted | UpdatePreDeploymentStepStatus | 展開ステージの実行記録を更新するためのアクセス権を持つ任意の ID |
注意
すべてのデプロイメントに対する OnDeploymentRequested トリガーです。
トリガー
トリガーは、パイプライン ホスト環境内の Power Automate クラウド フローで、Dataverse コネクタの アクションの実行時トリガー で利用できます。
- カタログ: Microsoft Dataverse 共通。
- カテゴリ: Power Platform パイプライン。
- テーブル名: (なし)。
- アクション名: 選択 リストからオプションを選択します。 パイプラインは、Power Automate クラウド フローでトリガーを生成する次のカスタム アクションを提供します。 承認および OnPreDeployment* 関連イベントは、対応する拡張機能が有効になっている場合にのみトリガーされます。
OnDeploymentRequested
OnApprovalStarted
OnApprovalCompleted
OnPreDeploymentStarted
OnPreDeploymentCompleted
OnDeploymentStarted
OnDeploymentCompleted
こちらは、トリガー例のスクリーンショットです。
トリガー条件
Power Automate トリガー条件 では、特定の条件が満たされた場合にのみフローが実行されるようにトリガーをカスタマイズすることができます。 たとえば、さまざまなパイプラインまたはパイプライン ステージ内でさまざまなフローおよび関連するビジネス ロジックを実行する必要がある場合があります。 これは、フローの実行と Power Platform のリクエスト消費を低く抑えるのにも役立ちます。
特定のパイプラインに対してフローをトリガーする
パイプライン (Contoso Pipeline) のすべてのステージに対してフロー実行をトリガーします。 この例では、'Contoso Pipeline' をパイプラインの名前に置き換えます:
@equals(triggerOutputs()?['body/OutputParameters/DeploymentPipelineName'], 'Contoso Pipeline')
パイプラインの特定のステージに対してフローをトリガーする
ステージ名が 'Contoso UAT' と 等しい 展開ステージに対してフローをトリガーします:
@equals(triggerOutputs()?['body/OutputParameters/DeploymentStageName'], 'Contoso UAT')
パイプラインの特定のステージに対してフローをトリガーする
ステージ名に 'QA' を 含む 展開ステージに対してフローをトリガーします:
@contains(triggerOutputs()?['body/OutputParameters/DeploymentStageName'], 'QA')
条件で使用されるの式の詳細: 複数の値を確認する条件で式を使用する。
Actions
クラウド フローで目的のロジックを実行した後、 バインドしていないアクションを実行する を各ゲート拡張機能の対応するアクションと組み合わせて使用します。
これらのパラメーターは、対応するゲート拡張機能のアクション全体で公開されます。
- UpdatePreExportStepStatus、UpdateApprovalStatus、および PreDeploymentStepStatus:
- 10 はシステムによって設定された保留ステータスです。
- 20 手順 を完了しました。
- 30 手順 を拒否したため。 展開は続行されず、状態は失敗に設定されます。 拒否の理由を示すために、作成者向けのコメントと管理者向けのコメントの両方を追加することもできます。
- ApprovalComments と展開前コメント:
- パイプライン実行履歴内で作成者に表示されるコメント。 承認者が申請者とコメントを共有することを目的としています。 たとえば、展開が拒否された理由や企業固有のプロセスに関する情報などです。
- PreExportProperties と ApprovalProperties:
- 管理者は、フローの実行や承認へのリンク、その他の関連データなど、作成者に公開されることなく情報やカスタム パラメーターをここに保存できます。 その目的は、柔軟性を提供し、展開関連データのカスタム レポートを簡素化することです。
サンプル
希望するマネージド ソリューションをダウンロードして、パイプライン ホスト環境にインポートします。 これらのサンプルは、組織のニーズに合わせてカスタマイズできます。
パイプラインの拡張性サンプル
このダウンロードには、パイプラインで上記のトリガーとアクションを使用するためのサンプル クラウド フローが含まれています。 詳細: サンプルソリューションをダウンロード
委任された展開サンプル
このダウンロードには、承認を管理し、展開されたキャンバス アプリとフローをターゲット環境内で共有するためのサンプル クラウド フローが含まれています。 詳細: サンプルソリューションをダウンロード