次の方法で共有


フロー チェッカー (プレビュー)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

ソリューション チェッカーの静的分析機能で開発ワークフローを改善します。 このツールは、ロボティック プロセス オートメーション (RPA) のベスト プラクティスをサポートし、フローを自動的に評価して最適なパフォーマンスを確保することで、重要なフロー要件を満たします。 静的分析は、デザイナーのフロー チェッカー セクションで使用できます。 主要なガイドラインを適用し、リアルタイムのフィードバックと早期のコード検査を提供します。 ワークフローに直接統合され、コード品質が向上し、より効率的で生産的な開発エクスペリエンスの基盤が構築されます。

重要

  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能は、追加の使用条件の対象となり、正式リリース前に利用可能です。お客様は早期にアクセスし、フィードバックを提供することができます。

ルールの管理

ルールは、管理センターの Power Platformソリューション チェッカーを通じて定義、管理されます。 管理者は次のことを行うことができます。

  • ルールの有効化または無効化。
  • 重大度レベル (エラー、警告、情報) を構成します。
  • 特定の環境または環境グループ (マネージド 環境 のみ) にルールを適用します。

管理センターでの構成

静的分析ルールを構成するには、次の手順を実行します。

  1. Power Platform 管理センターに移動します。
  2. 管理>環境 を選択して続行します。
  3. マネージド環境の編集を選択します。
  4. ソリューション チェッカー の適用セクションで、選択した環境に対して除外するルールを構成します。

注意

  • 環境が、定義された構成を持つ環境グループの一部である場合、ルール設定は継承され、個別に編集することはできません。 ソリューションチェッカーの詳細については、ソリューションチェッカーマネージド環境でのソリューションチェッカーの適用を参照してください。
  • Power Platform 管理者は、この機能へのアクセスを必要とするすべてのロールに、次の権限を割り当てる必要があります: prvReadmsdyn_analysisoverride (フレンドリ名は '分析オーバーライド (読み取り)')。

ポータルでの静的解析の実行

静的分析を手動でトリガーするには、次のようにします。

  1. Power Automate ポータルソリューションのページにアクセスします。

  2. ソリューションの横にあるコンテキスト メニュー (⋯) を開きます。

  3. ソリューション チェッカーにマウスオーバーします。

  4. 次のオプションのいずれかを選択します。

    • 実行: 静的解析を開始します。
    • 結果の表示: 最新の分析レポートを開きます。
    • 結果のダウンロード: オフライン レビュー用にレポートをエクスポートします。

注意

静的分析は、ソリューションに含まれるすべてのデスクトップ フローに対して実行されます。 結果のオブジェクト名列を確認して、特定のルール違反をトリガーしたデスクトップ フローを特定します。 この列には、対応するデスクトップ フローの名前が表示されます。

Power Automate ポータルにおけるソリューションの静的解析結果のスクリーンショット。

デザイナーでの静的解析

静的解析は自動的に実行され、手動による介入を必要とせずにコードを継続的に検査します。 フロー内のアクションを追加、削除、または変更すると、この機能が起動して変更を評価し、分析を更新します。 このプロセスにより、開発がシームレスかつ効率的になります。

デスクトップ デザイナー用 Power Automate の、静的解析ペインを開くボタンのスクリーンショットです。

各分析では、正常に実行されたルールの割合を示すパーセンテージ スコアが生成されます。 スコアが高いほど、違反が少なくなり、コードの品質が向上します。

このスコアは、フローに変更が加えられるたびに再計算され、即座にフィードバックが提供され、優れた開発プラクティスが促進されます。

静的分析スコアと違反したルールの概要を示すスクリーンショット。

ルールに違反した場合、静的分析レポートには明確な概要が表示されます。 ルール名と、各ルールに違反するフロー内のアクションまたは変数の数が一覧表示されます。 ルールを選択すると、対応するアクションが強調表示され、エラーの詳細な説明が表示されます。 変数関連の違反の場合、システムは変数ペインに移動し、修正を容易にします。

各違反には、エラーの性質、推奨される修正方法、ドキュメントへのリンクなどの詳細を示すタイルが表示されます。 ルールのヘッダーにあるスライダーを使用して、同じ違反の発生間を移動します。 このガイダンスは、開発者が問題に迅速かつ効果的に対処するのに役立ちます。

静的分析ルールの詳細を示すスクリーンショット。

静的分析のルール

静的分析ルールは、フローの安全性、保守性、パフォーマンスを確保するのに役立つ事前定義されたガイドラインです。 各ルールは、セキュリティ、パフォーマンス、保守性など、フロー設計の特定の側面を対象としており、フローの品質を向上させるための実用的なフィードバックを提供します。 以下は、ルール、その説明、および推奨される修正のリストです。

安全でないパスワード セキュリティ

  • セキュリティ: 警告
  • タイプ: セキュリティ
  • エラーの詳細: このフローでパスワードがセキュアに管理されていません。
  • 説明: このルールでは実行中にパスワードが公開されたり、不適切に処理されないように、デスクトップ フローでパスワードがセキュアに管理されていることを検証します。
  • 推奨される修正: デスクトップ用 Power Automate のパスワード機能を使用して、パスワード関連のすべての入力が適切に処理されていることを確認します。 コンピューター ベースの暗号化で最大限のセキュリティを実現する「直接暗号化テキスト入力」を使用してください。 異なるコンピューターで使用するフローでは、「パスワード入力を変数にする」を選択し、対応する変数に機密マークを付けてセキュリティを強化します。 また、CyberArk 認証情報と統合された「認証情報を取得」アクションなどの安全な認証情報管理機能も使用します。

2 つのサブフロー間の再帰

  • セキュリティ: 警告
  • タイプ: デザイン
  • エラーの詳細: サブフロー間の再帰呼び出しが検出されました。これは無限ループが発生する原因になります。
  • 説明: このルールはフローが無限ループに陥らないように、2 つ以上のサブフロー間の再帰呼び出しを確認します。
  • 修正の提案: サブフロー間の再帰呼び出し削除します。

変数の長さが超過している

  • セキュリティ: 警告
  • タイプ: メンテナンス性
  • エラーの詳細: 変数の名前が上限である 25 文字を超過しています。
  • 説明: このルールはフローで定義された各変数の名前が、指定された文字数を超えているかどうかを検証します。 既定の制限は 25 文字です。
  • 修正の提案: 指定された文字数の上限を超えた変数名を、25 文字未満になるように変更してください。

入力変数の既定値

  • セキュリティ: 警告
  • タイプ: メンテナンス性
  • エラーの詳細: 入力/出力の変数が既定値を使用していません。
  • 説明: このルールは、そのフローに適切な構成を維持するために、入力/出力変数で既定値が使用されていることを検証します。
  • 修正の提案: フローに含まれるすべての入力変数と出力変数に既定値を割り当てます。

入力変数と出力変数の数のしきい値

  • セキュリティ: 警告
  • タイプ: メンテナンス性
  • エラーの詳細: 入力/出力変数の合計が上限である 25 を超過しています。
  • 説明: このルールは、フロー内の入力/出力変数の総数が指定したしきい値を超えているかどうかを検証します。 上限は 25 です。
  • 修正の提案: このフローに含まれる入力変数と出力変数の件数は必ず 25 以下で指定してください。

ブロック時のエラー アクションが空です

  • 既定の重大度: 警告
  • タイプ: デザイン
  • エラーの詳細: 「エラーのブロック時」のアクションが空であり、エラーが処理されません。
  • 説明: このルールは、フロー内の 「エラーのブロック時」 アクションがエラーを処理するように正しく設定されているかどうかをチェックし、エラーがスローされ、期待どおりに管理されることを確認します。
  • 修正の提案: 潜在的なエラーを管理するには、フローでエラーのブロック時アクションを設定してください。

入れ子になった If 句

  • セキュリティ: 警告
  • タイプ: メンテナンス性
  • エラーの詳細: 入れ子になった If 句が 5 階層を超えています。
  • 説明: このルールは、このフローの容易な管理と可読性を維持するために、5 階層を超える入れ子になった if ステートメントがあるかどうかを確認します。
  • 修正の提案: このフローのリファクターを実施し、if ステートメントの入れ子を 5 階層以下に減らします。

不完全な If 文

  • セキュリティ: 警告
  • タイプ: デザイン
  • エラーの詳細: 不完全な If アクションが検出されました。コンテンツが不足しているか、または Else 分岐のみにアクションが含まれています。
  • 説明: このルールはフローを検証し、コンテンツが不足しているか、アクションが Else 分岐のみに含まれる If アクションを検出して、条件文の実装が効率的であるかどうかを確認します。
  • 修正の提案: フローを確認し、「If」、「Else if」、「Else」 分岐のすべてに意味があるアクションが含まれているかどうかについて、それぞれの「If」 条件をレビューします。

無限ループ

  • セキュリティ: 警告
  • タイプ: デザイン
  • エラーの詳細: フローで無限ループが検出されました。これはフローが無限に実行される原因になります。
  • 説明: このルールはフローに無限ループが存在するかどうかを検証し、無限にフローが実行されるシナリオを識別して、それを防止する際に役立ちます。
  • 推奨される修正: 各ループに明確に定義され、達成可能な終了条件があることを確認します。 条件は、カウンター、特定の値、またはタスクの完了に基づいて設定できます。 チェックまたはフェイルセーフ条件を追加して、ループが予想よりも長く実行されている場合にループを中断します。 たとえば、最大反復回数を設定したり、タイムアウトを含めたりします。

待機アクションの誤用

  • セキュリティ: 警告
  • タイプ: パフォーマンス
  • エラーの詳細: 待機アクションの不適切な使用が検出されました。待機アクションが 10 を超えており、潜在的なボトルネックの原因になります。
  • 説明: このルールは、フローに 10 件を超える過剰な待機アクションが含まれているかどうかを検証し、長時間の遅延によって生じる潜在的なボトルネックを特定して最小限に抑える際に役立ちます。
  • 推奨される修正: フローを確認して、すべての待機アクションを特定し、それらがフローのロジックに不可欠であるかどうかを確認します。 不要な待機を削除するか、可能な場合はそれらを組み合わせます。

非常に長い待機時間

  • セキュリティ: 警告
  • タイプ: パフォーマンス
  • エラーの詳細: ハードコードされた待機アクションで 600 秒の制限を超える非常に長い待機時間が検出されました。
  • 説明: このルールはフローに含まれるハードコードされた待機アクションが、指定された時間を超過するかどうかを確認します。上限は 600 秒に設定されています。
  • 推奨される修正: フローを確認して、600 秒の制限を超える待機アクションを見つけます。 これらの長い待機時間が必要かどうかを確認し、フローが正しく機能するために必要な最短時間に期間を調整します。 長い待機が必要な場合は、短い間隔に分割し、間にチェックまたは条件を追加します。 可能な限り、長時間待機アクションをイベント駆動型トリガーに置き換えます。

既知の制限

  • マネージド環境でのみ使用可能です。
  • ルールのカスタマイズは、ルールの有効化または無効化と重大度の設定に限定されます。

既知の問題

  • ルール違反の詳細を表示した後でコピーしたアクションを削除すると、未処理のエラーがトリガーされる可能性があります。
  • 以下のアクションで機密ではないパスワード変数を使用すると、ルールの評価中に静的解析が失敗します。
    • 入力ダイアログを表示
    • フォルダー選択ダイアログを表示する
    • カスタム フォームの表示