- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- 変数
- 引数
- インポートされた名前空間
- 制御フロー
- オブジェクト リポジトリ
- ログ
- ScreenScrapeJavaSupport ツール
- Studio でのテスト
- 拡張機能
- トラブルシューティング
ワークフロー アナライザーは、プロジェクトが高品質と信頼性の基準を確実に満たせるようにする静的コード アナライザーです。静的コード アナライザーは、実行時にステップ インする動的アナライザーとは対照的に、プロジェクトを実際に実行せずに不整合がないかを確認します。
Workflow Analyzer uses a set of rules to check for various inconsistencies unrelated to project execution. The rules are based on Automation Best Practices and take into consideration variable and argument naming, empty sequences or workflows, package restrictions, and so on. The analyzer does not identify errors in execution or compilation.
[デザイン] リボン タブの [ファイルを分析] ボタンと [プロジェクトを分析] ボタンで使用できます。最初のボタンは、デザイナー パネルで現在フォーカスされているファイルを分析し、2 つ目のボタンは、オートメーション プロジェクトのすべてのファイルを分析します。
Studio comes with a set of built-in rules, identifiable by the ST- prefix. The UIAutomation.Activities, Excel.Activities, Testing Activities, and Mail.Activities also have their own rules, identifiable by the prefix.
カスタム ルールを作成することもできます。詳細については、『開発者ガイド』の「ワークフロー アナライザーのルールを構築する」をご覧ください。
Studio の組み込みルールを旧バージョンの Studio に移植することはできません。ただし、旧バージョンの Studio で利用できるアクティビティ パッケージのルールは、ワークフロー アナライザーに付属する旧バージョンの Studio で使用できます。
ルール命名規則
Each rule has an ID, name, description, and recommendation. The ID contains the origin, category, and number. For example, Variables Naming Convention has the ST-NMG-001 ID:
-
ST- ルールが Studio に組み込まれていることを示します。 -
NMG- shows that the rule is part of the Naming Rules category. Rules part of Project Anatomy Rules category have theANAabbreviation, those part of Design Best Practices theDBP, and so on. -
001- ルール番号です。
スコープ
各ルールには、適用されるスコープがあります。
- Activity: The rules are enforced at activity level, checking variables, arguments, properties. Variables Naming Convention is one such rule.
- Workflow: Rules perform checks in a single project file, for example Unused Variables.
- プロジェクト: チェックはプロジェクト レベルで実行されます。
操作
ルールには、設定可能な多くの操作があります。
- エラー: [エラー リスト] パネルにエラーを生成します。
- 警告: [エラー リスト] パネルに警告を生成します。
- 情報: [エラー リスト] パネルにメッセージを生成します。
- 冗長: 大きなログ ファイルを作成します。
Check the Logging Levels page to learn more about logging with Studio.
ルールを管理する
プロジェクトまたはファイルは、[プロジェクト設定] ウィンドウで利用可能な一連のルールに基づいて分析されます。
- [プロジェクト] パネルで
アイコンをクリックしてワークフロー アナライザーを選択します。 - リボンで [ファイルの分析] ボタンをクリックして、ドロップダウンから [Workflow Analyzer の設定] を選択します。
ルールは、範囲と操作でフィルター処理することができます。既定では、ルールはウィンドウ内でコード順に並べられていますが、有効なルールは最初に表示されます。
ルールを設定する
左側のチェックボックスを使用してルールを有効化/無効化したり、右側のドロップダウンを使用して既定のアクションを変更したりできます。
Some rules require no additional configuration, while others contain parameters that you can configure, such as thresholds not to be exceeded, or lists of specific items that are allowed or prohibited. Please note that when you configure rules that contain text fields (for example SecureString Misusage or Package Restrictions), text shouldn't be entered between quotes.
既定値にリセット
正規表現やしきい値など、ルールの既定値に何らかの変更を加えた場合、それらのルールを右クリックして [既定値にリセット] を選択すれば、値を規定値に戻すことができます。
検証
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です。
UiPath.Studio.CommandLine.exe には Studio のライセンスは必要ありません。
ルールを設定する
Studio をインストールすると、以下を除くワークフロー アナライザーのすべてのルールが既定で有効化されています。
以下の場所からルールを設定できます。
- [Workflow Analyzer の設定] ウィンドウで、各ルールの横にあるチェックボックスをクリックしてルールを有効または無効化します。
- From the
RuleConfig.jsonfile, path%LocalAppData%\UiPath\Rules. Find a specific rule, modify its parameter, change theIsEnabledparameter tofalseto disable the rule. Optionally, if the path is not accessible, you can place theRuleConfig.jsonfile in a custom location and include the path to the file in the command. For more information, see Analyze Files and Projects.
ルールは Workflow Analyzer の設定にも表示される、一意の ID に基づいて整理されます。
For example, in the image below only the Variables Naming Convention rule was enabled and received the ([A-Z]) Regex expression. This means that variable names must be uppercase. All the other rules were disabled in this example.
ファイルとプロジェクトを分析する
ルールを構成したら、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- ルールによって生成されるエラー メッセージのリストです (該当する場合)。