Studio
v2023.4
バナーの背景画像
Studio ガイド
最終更新日 2024年4月3日

ワークフロー アナライザーについて

ワークフロー アナライザーは、プロジェクトが高品質と信頼性の基準を確実に満たせるようにする静的コード アナライザーです。静的コード アナライザーは、実行時にステップ インする動的アナライザーとは対照的に、プロジェクトを実際に実行せずに不整合がないかを確認します。

ワークフロー アナライザーは、プロジェクトの実行に関係のないさまざまな不整合を一連のルールを使用してチェックします。ルールはオートメーションのベスト プラクティスに基づいており、変数と引数の命名、空のシーケンスまたはワークフロー、パッケージの制限などが考慮されます。ワークフロー アナライザーは実行時またはコンパイル時のエラーを区別しません。



[デザイン] リボン タブの [ファイルを分析] ボタンと [プロジェクトを分析] ボタンで使用できます。最初のボタンは、デザイナー パネルで現在フォーカスされているファイルを分析し、2 つ目のボタンは、オートメーション プロジェクトのすべてのファイルを分析します。

Studio には、一連のルールがあらかじめ組み込まれています。これらのルールはプレフィックス ST- によって見分けることができます。UIAutomation.ActivitiesExcel.ActivitiesTesting ActivitiesMail.Activities もプレフィックスによって識別可能な独自のルールを備えています。詳しくは下表をご覧ください。
ルールのカテゴリ

説明

ソース

名前付け

名前付けに関連する不整合がないか、ファイルまたはプロジェクトを確認します。

Studio

プロジェクトが、一連の一般的なベスト プラクティスを満たしていることを確認します。

Studio
プロジェクトが、構造の観点から一般的な要件を満たしていることを確認します。 Studio

プロジェクトが、分かりやすく保守性が高いことを確認します。

Studio
プロジェクトで定義されている要素が実際に使用されていることを確認します。 Studio

パフォーマンスと再利用性に関連する不整合がないか、ファイルまたはプロジェクトを確認します。

Studio

信頼性に関連する不整合がないか、ファイルまたはプロジェクトを確認します。

Studio

セキュリティに関連する不整合がないか、ファイルまたはプロジェクトを確認します。

Studio

ワークフローおよびオートメーション プロジェクトをテストします。

アクティビティ

クラシック UI アクティビティを使用するワークフローを検証します。

アクティビティ

UI Automation のモダン アクティビティを使用するワークフローを検証します。 アクティビティ
Excel アクティビティを使用するワークフローを検証します。 アクティビティ
メール アクティビティを使用するワークフローを検証します。 アクティビティ

カスタム ルールを作成することもできます。詳細については、『開発者ガイド』の「ワークフロー アナライザーのルールを構築する」をご覧ください。

ルールは、Automation Ops で Studio のポリシーを作成する際に設定することもできます。詳しくは、『Automation Ops ガイド』をご覧ください。

注: Studio の組み込みルールを旧バージョンの Studio に移植することはできません。ただし、旧バージョンの Studio で利用できるアクティビティ パッケージのルールは、ワークフロー アナライザーに付属する旧バージョンの Studio で使用できます。

ルール命名規則

各ルールには、ID、名前、説明、および推奨事項があります。ID には、発生元、カテゴリ、および番号が含まれます。たとえば、変数命名規則には次の ST-NMG-001 ID があります。

スコープ

各ルールには、適用されるスコープがあります。

  • アクティビティ: ルールはアクティビティレベルで適用され、変数、引数、プロパティをチェックします。変数命名規則は、そのようなルールです。
  • ワークフロー: ルールは、単一のプロジェクト ファイルでチェックを実行します (例: 未使用の変数)。
  • プロジェクト: チェックはプロジェクト レベルで実行されます。

操作

ルールには、設定可能な多くの操作があります。

  • エラー: [エラー リスト] パネルにエラーを生成します。
  • 警告: [エラー リスト] パネルに警告を生成します。
  • 情報: [エラー リスト] パネルにメッセージを生成します。
  • 冗長: 大きなログ ファイルを作成します。

Studio でのログの詳細については、「ログ レベル」ページをご覧ください。

ルールを管理する

プロジェクトまたはファイルは、[プロジェクト設定] ウィンドウで利用可能な一連のルールに基づいて分析されます。

  • [プロジェクト] パネルで docs image アイコンをクリックしてワークフロー アナライザーを選択します。
  • リボンで [ファイルの分析] ボタンをクリックして、ドロップダウンから [Workflow Analyzer の設定] を選択します。

既定では、ルールはウィンドウ内でコード順に並べられていますが、有効なルールは最初に表示されます。

ウィンドウ上部の検索ボックスを使用して、名前またはコードでルールを検索します。スコープと既定のアクションでルールをフィルター処理するには、検索ボックスの右側にある ボタンをクリックします。



ルールを設定する

左側のチェックボックスを使用してルールを有効化/無効化したり、右側のドロップダウンを使用して既定のアクションを変更したりできます。

追加の設定が不要なルールもあれば、超えてはならないしきい値や、許可/禁止する特定の項目のリストなど、設定可能なパラメーターを含むルールもあります。テキスト フィールドを含むルールを設定する場合は ([SecureString の誤用][パッケージの制限] など)、テキストを引用符で囲んで入力しないでください。

既定値にリセット

正規表現やしきい値など、ルールの既定値に何らかの変更を加えた場合、それらのルールを右クリックして [既定値にリセット] を選択すれば、値を規定値に戻すことができます。



検証

Workflow Analyzer がトリガーされるたびに、ファイルまたはプロジェクトの検証が行われます。検証オプションは [ファイルの分析] リボンボタン、検証ファイル検証プロジェクトで使用できます。

この操作は、変数、引数、式、およびインポートが適切に構成されているかどうかを確認します。ファイルの検証操作は F8 ショートカットを使用してトリガーすることができ、プロジェクトの検証操作は Shift + F8 を使用してトリガーできます。検証はいつでもキャンセルできます。

エラーを含むファイルは、[プロジェクト] パネルで赤い点でマークされ、エラーは [エラー リスト] パネルと [出力] パネルに表示されます。

[エラー リスト] パネルの項目をダブルクリックすると、.xaml が開き、エラーをスローした要素 (アクティビティ、引数、または変数) が強調表示されます。
すべての .xaml ファイルが検証されない限り、プロジェクトはデバッグ、実行、またはパブリッシュできません。ブレークポイント条件は評価されません。

エラーを管理する

トリガーされると、ワークフロー アナライザー はプロジェクトまたはファイルをチェックするように設定されたルールセットを使用し、ルールの操作に従って [エラー リスト] パネルに見つかったエラーを記録します。



[エラー リスト] パネルは項目をエラー警告メッセージごとに絞り込みます。スコープのドロップダウン メニューは、プロジェクト、現在のファイル、またはオートメーション内の特定のファイルごとにエラーを絞り込むのに役立ちます。さらに、項目はルール ID で絞り込むことができます。



見つかった警告またはエラーをクリックして、ルールの推奨事項と各ルールのドキュメントページへのリンクを表示します。

[エラー リスト] パネルには、ルール違反のほか、ワークフロー分析の実行中に発生する可能性のあるエラーも表示されます。ワークフロー アナライザーまたは設定されたルールのいずれかが実行に失敗すると、エラーがログに記録され、エラーの原因の詳細が [説明] に表示されます。

コマンドラインのサポート

UiPath.Studio.CommandLine.exe コマンドライン ユーザー インターフェイスには、CI/CD パイプライン構成であっても、特定のルールに対してファイルまたはプロジェクトをチェックするための一連のパラメーターが含まれています。
UiPath.Studio.CommandLine.exe は、インストール フォルダーにあります。
  • マシン単位のインストールの場合、既定のパスは %ProgramFiles%\UiPath\Studio\ です。
  • ユーザー単位のインストールの場合、既定のパスは %LocalAppData%\Programs\UiPath\Studio です。
ルールを設定する

Studio をインストールすると、以下を除くワークフロー アナライザーのすべてのルールが既定で有効化されています。

以下の場所からルールを設定できます。

  • [Workflow Analyzer の設定] ウィンドウで、各ルールの横にあるチェックボックスをクリックしてルールを有効または無効化します。
  • RuleConfig.json ファイル (パス: %LocalAppData%\UiPath\Rules) で特定のルールを見つけ、そのパラメーターを変更し、IsEnabled パラメーターを false に変更してルールを無効化します。上記のパスにアクセスできない場合は、必要に応じて、RuleConfig.json ファイルをカスタムの場所に置き、ファイルへのパスをコマンドに含めることができます。詳しくは、「ファイルとプロジェクトを分析する」をご覧ください。

ルールは Workflow Analyzer の設定にも表示される、一意の ID に基づいて整理されます。

たとえば、以下の図では、変数命名規則ルールのみが有効で、([A-Z]) 正規表現式を受け取りました。これは、変数名は大文字でなければならないことを意味します。この例では、他のすべてのルールが無効化されています。


各ルールでは、次のパラメーターを使用できます。
パラメーター説明
ルール ID ルールの ID です。
有効 ルールが有効化されているか、それとも無効化されているかを示します。null に設定すると、DefaultIsEnabled パラメーターの値が適用されます。
DefaultIsEnabled ルールが既定で有効化されているか、それとも無効化されているかを示します。
DefaultErrorLevelログ メッセージの既定のレベルです (Error、Warning、Info、Verbose)。
パラメーター ルールに含めることができる追加のパラメーターです (Name や Value など)。
エラー レベル ログ メッセージのレベルです。null に設定すると、DefaultErrorLevel パラメーターの値が適用されます。
ファイルとプロジェクトを分析する
ルールを構成したら、UiPath.Studio.CommandLine.exe コマンドライン ユーザー インターフェイスにアクセスします。

以下のワークフロー アナライザーのコマンドを使用できます。

  • analyze - プロジェクト全体を分析します。project.json ファイルへのパスが必要です。
  • analyze-file - 単一のファイルを分析します。.xaml ファイルへのパスが必要です。

ワークフロー アナライザーのコマンドでは以下の引数を使用できます。

引数

説明

-p, --project-path

1 つのファイルを分析するには、.xaml へのパスを指定します。プロジェクト全体を分析するには、project.json ファイルへのパスを指定します。

-c, --config-path

RuleConfig.json ファイルへのパスです。ルール設定ファイルが既定の場所 (%LocalAppData%\UiPath\Rules) に配置されていない場合にのみ、このパスを指定します。

--help

各コマンドで使用可能な引数を表示します。

--version

UiPath.Studio.CommandLine.exe のバージョンを確認します。
たとえば、コマンド UiPath.Studio.CommandLine.exe analyze-file -p "C:\BlankProcess\Main.xaml" はプロジェクト内の 1 つのファイル Main.xaml だけを分析します。このコマンドの出力は、各ルール違反に対して、json 形式にエンコードされたディクショナリを以下の情報とともに返します。
  • FilePath: 分析されるファイルへのパスです。
  • ErrorCode: ルールの ID です。
  • ActivityDisplayName - アクティビティの表示名 (該当しない場合は null)。
  • Item - エラー メッセージが生成された項目 (アクティビティや変数など) の名前と種類。
  • ErrorSeverity: DefaultAction パラメーターの値です。これは、各ルールに対して設定されたログ メッセージであり、Warning、Error、Info、または Verbose のいずれかです。
  • Description: ルールの説明です。
  • Recommendation および URL: 問題を解決するために推奨される変更と、詳細情報が記載されたドキュメントへのリンクです。


カスタムの場所にある RuleConfig.json ファイルを使用するには、コマンドに場所を追加します。前のコマンドを例として使用し、C:\CustomFolder\RuleConfig.json にあるファイルでルールを設定するには、次のコマンドを実行します。UiPath.Studio.CommandLine.exe analyze-file -c "C:\CustomFolder\RuleConfig.json" -p "C:\BlankProcess\Main.xaml"
コマンドの終了コードを返すには、コマンド実行後に echo %errorlevel% を実行します。ErrorSeverity エラーのメッセージがない場合は、コード 0 が返されます。それ以外の場合は、1 が返されます。
一部のエントリはルールに関連付けられていない場合がありますが、ワークフロー アナライザーによって生成されたエラーである可能性があることに留意してください。たとえば、空の .xaml ファイルの場合には、エラーが表示されます。

エントリの接頭辞として使用されるグローバル一意識別子 (GUID) は実行ごとに生成され、現在の結果にのみ適用されます。

ワークフロー アナライザーの結果をエクスポートする

各ワークフローの分析結果をプロジェクト フォルダーにエクスポートするように Studio を設定するには、Studio の Backstage ビュー > [設定] > [デザイン] に移動して、[アナライザーの結果をエクスポート] オプションを有効化します。

このオプションを有効化すると、各ワークフローの分析結果はプロジェクト フォルダーの \.local\.analysis\ サブフォルダー内のファイルに保存されます。ファイルの名前には、分析のタイムスタンプの後に project_analysis_results.json ([プロジェクトを分析] オプションが使用された場合) または file_analysis_results.json ([ファイルを分析] オプションが使用された場合) が付けられます。
注: .local フォルダーは非表示です。Windows ファイル エクスプローラーの設定で、非表示の項目を表示可能にできます。

このファイルには、有効な各ルールに関する以下の情報が含まれます。

  • RuleId - ルールの ID です。
  • RuleName - ルールの名前です。
  • Parameters - ルール内のカスタマイズ可能なパラメーターです (該当する場合)。
  • Severity - ルールに違反した場合のルール アクションです。
  • ErrorsDescription - ルールによって生成されるエラー メッセージのリストです (該当する場合)。

実行、パブリッシュ、またはプッシュ/チェックイン直前のワークフロー アナライザーの強制実行する

ワークフロー アナライザーのエラーが含まれるプロジェクトを実行、パブリッシュ、およびリモート リポジトリにプッシュ/チェックインできないようにするには、Studio の Backstage ビュー > [設定] > [デザイン] から以下のオプションを有効化します。

  • 実行直前にアナライザーを強制実行 - ファイルまたはプロジェクトの実行/デバッグが開始されるたびに、ワークフロー アナライザーは Error アクションが設定されたすべてのルールを確認し、エラーが見つからない場合にのみ実行が許可されます。
  • パブリッシュ直前にアナライザーを強制実行 - パブリッシュを開始するたびに、ワークフロー アナライザーは設定されたアクションに関係なく有効化されているすべてのルールを確認し、アクション Error のルール違反がない場合にのみパブリッシュが許可されます。
  • プッシュ/チェックイン直前にアナライザーを強制実行 - リモート リポジトリへのプロジェクトの送信を開始するたびに (Git の場合は [コミットしてプッシュする]、SVN と TFS の場合は [チェック イン])、ワークフロー アナライザーは設定されたアクションに関係なく有効化されているすべてのルールを確認し、アクション Error のルール違反がない場合にのみ操作が許可されます。
[パブリッシュ直前にアナライザーを強制実行] が有効化されている場合、パブリッシュに成功すると (アクション Error のルール違反がない場合)、ワークフロー分析の結果は \lib\net45\.analysis\ にある project_analysis_results.json ファイル内のパブリッシュされた .nupkg パッケージに含まれます。このファイルには、有効な各ルールに関する以下の情報が含まれます。
  • RuleId - ルールの ID です。
  • RuleName - ルールの名前です。
  • Parameters - ルール内のカスタマイズ可能なパラメーターです (該当する場合)。
  • Severity - ルール アクションです (ルールに違反した場合)。
  • ErrorsDescription - ルールによって生成されるエラー メッセージのリストです (該当する場合)。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.