ワークフロー アナライザーについて
ワークフロー アナライザーは、オートメーション プロジェクトが品質と開発基準を満たしているかどうかを確認するための静的コード解析ツールです。実行時の検証とは異なり、ワークフロー アナライザーはワークフローを実行せずに解析します。
ワークフロー アナライザーは、プロジェクトの実行とは無関係なさまざまな不整合をチェックするためのルール セットを使用します。これらのルールはオートメーション ベスト プラクティスに基づいており、変数と引数の命名、空のシーケンスやワークフロー、パッケージの制限などを考慮しています。

解析コマンドは「デザイン」リボン タブにあります。
以下のコマンドが利用可能です:
- ファイルを解析 – デザイナーで現在開いているワークフローを解析します。
- プロジェクトを解析 – 現在のオートメーション プロジェクトのすべてのワークフローを解析します。
- 解析の設定 – 設定ウィンドウを開きます。ここでワークフロー アナライザーのルールとその設定を構成できます。
主要な概念
以下の概念は、ワークフロー アナライザーがオートメーション プロジェクトをどのように検証するかを理解するのに役立ちます。
ルールの命名規則
各ワークフロー アナライザー ルールは、一意のルール コードで識別されます。ルール コードは 3 つのコンポーネントで構成されています:
- ST(Studio) – ルールが akaBot Studio に属することを示します。
- NMG(命名) – ルール カテゴリを示します。
- 001 – 一意のルール識別子。
例:
ST-NMG-001
ルール コードはワークフロー アナライザー全体で表示され、特定のルールの識別、検索、参照が容易になります。

ルール カテゴリ
ワークフロー アナライザーは、検証するプロジェクトの側面に基づいてルールをカテゴリにグループ化します。ルール カテゴリにより、関連するルールの参照、設定、管理が容易になります。
利用可能なルール カテゴリは以下のとおりです:
- 命名ルール (ST-NMG-...)
- 設計ベスト プラクティス (ST-DBP-...)
- 保守性ルール (ST-MRD-...)
- パフォーマンス ルール (ST-PRR-...)
- セキュリティ ルール (ST-SEC-...)
- 使用ルール (ST-USG-...)
- プロジェクト構成ルール (ST-ANA-...)
ルールのスコープ
各ルールには、評価されるレベルを定義するスコープがあります。
| スコープ | 説明 |
|---|---|
| アクティビティ | ルールはアクティビティ レベルで適用され、変数とそのプロパティをチェックします。 |
| ワークフロー | ルールは単一のプロジェクト ファイルに対してチェックを実行します。 |
| プロジェクト | チェックはプロジェクト レベルで実行されます。 |
解析ウィンドウでスコープ別にルールをフィルタリングできます。

重大度レベル
各ルールには、検出された問題の重要度を示す重大度レベルが割り当てられています。
| 重大度 | 説明 |
|---|---|
| エラー | プロジェクトの実行、公開、またはデプロイ前に解決すべき問題を示します。 |
| 警告 | コード品質または保守性の推奨改善点を示します。 |
| 情報 | 情報的なガイダンスと開発の推奨事項を提供します。 |

解析スコープ
ワークフロー アナライザーは 2 つの解析スコープをサポートしています:
- 現在のワークフロー – アクティブなワークフローのみを解析します。
- プロジェクト全体 – 現在のプロジェクトのすべてのワークフローを解析します。
公開前にプロジェクト全体の解析を実行することをお勧めします。
ルールの管理
ワークフロー アナライザーは、設定可能なルールを使用してオートメーション プロジェクトを検証します。ルールは、組織の開発基準に合わせて有効化、無効化、またはカスタマイズできます。
ルールの設定
ルールは設定ウィンドウで設定します。左側のチェックボックスを使用してルールを有効/無効にしたり、右側のドロップダウンを使用して重大度を変更したりできます。
ルールによっては追加の設定が不要なものもありますが、超えてはならないしきい値や許可・禁止された特定のアイテムのリストなど、設定可能なパラメータを含むものもあります。テキスト フィールドを含むルール(例:SecureString の誤用またはパッケージ制限)を設定する場合、テキストを引用符の間に入力しないでください。
デフォルト値にリセット
Regex やしきい値などのルールのデフォルト値が変更された場合、ルールを右クリックしてデフォルトにリセットを選択することで、元の設定に戻すことができます。

検証
ワークフロー アナライザーを実行する前に、アクティビティの検証エラーがないことを確認するためにプロジェクトを検証してください。ワークフロー アナライザーは有効なワークフローのみを解析できるため、検証の問題(赤い検証インジケーターとして表示される)を先に解決する必要があります。
重要
ワークフロー アナライザーを起動する前に、プロジェクトに検証エラーがないことを確認してください。この検証ステップは、ワークフローが構造的に有効であることをチェックします。ワークフロー アナライザーは静的コード解析のみを実行します。ワークフローを実行したり、実行時の動作を検証したりすることはありません。
エラーの管理
ワークフロー アナライザーが解析を完了すると、検出された問題が「解析結果」ウィンドウに表示されます。各問題の重大度、エラー コード、説明、推奨事項、および影響を受けるワークフローを確認できます。
利用可能な検索ボックスとフィルター オプション(スコープ、重大度、エラー コードなど)を使用して、特定の問題をすばやく特定し、レビューに最も関連する結果に集中できます。また、解析レポートをエクスポートして、さらなる確認や共有に活用できます。
このバージョンでは、単にエラーを表示するだけでなく、最終的な解析結果と対話することに重点を移しています。

ワークフロー アナライザーの結果のエクスポート
ドキュメント化、プロジェクト レビュー、または既存の開発ワークフローへの統合を容易にするために、解析結果をエクスポートできます。
ワークフロー アナライザーは以下の形式でのレポート エクスポートをサポートしています:
-
HTML レポート:プロジェクトの詳細、依存関係情報、重大度・エラー コード・ファイル位置別の問題の包括的な内訳を含む、共有に最適な、構造化された読みやすい Web ページを生成します。
-
CSV:スプレッドシートや外部トラッキング ツールへのインポートに適した、より深い解析とカスタム レポートのための生データ形式を提供します。
エクスポートするには、解析インターフェース内の「レポートのエクスポート」ボタンをクリックして、希望する形式を選択するだけです。

結果は次のようになります

コマンドライン サポート
Aka.RPA.Analyzer.CLI.exe コマンドライン ユーザー インターフェースには、特定のルールに対してファイルまたはプロジェクトをチェックするためのパラメータ セットが含まれています。 Aka.RPA.Analyzer.CLI.exe はインストール フォルダーにあります:
C:\Program Files\FPT Software\akaBot Platform\WorkflowAnalyzer\Aka.RPA.Analyzer.CLI.exe
ルールの設定
デフォルトでは、Studio のインストール時にすべてのワークフロー アナライザー ルールが有効になっています(一部のルールはデフォルトで無効になっています)。
ワークフロー アナライザーの設定ウィンドウでルールを設定し、各ルールの横にあるチェックボックスをクリックしてルールを有効または無効にするか、RuleConfig.json ファイルから行うことができます。
RuleConfig.json ファイルを編集してルールを設定することもできます。設定ファイルは以下のいずれかの場所にあります:
-
アプリケーションのデフォルト場所
C:\Program Files\FPT Software\akaBot Platform\WorkflowAnalyzer\RuleConfig.json -
プロジェクト固有の場所(プロジェクトを解析する際に使用)
<project-path>\.rules\RuleConfig.json
特定のルールを見つけ、パラメータを変更し、IsEnabled パラメータを false に変更してルールを無効にします。必要に応じて、パスにアクセスできない場合は、RuleConfig.json ファイルをカスタムの場所に配置し、コマンドにファイルへのパスを含めることができます。
詳細については、「ファイルとプロジェクトの解析」を参照してください。ルールはワークフロー アナライザーの設定にも表示される一意の ID に従って整理されています。例えば、以下の画像では「機密引数の SecureString」ルールのみが有効化され、Keywords パラメータを受け取っています。これは、そのキーワードを含む引数は SecureString 型でなければならないことを意味します。

ルール設定のプロパティ
RuleConfig.json の各ルールには以下のプロパティが含まれています:
| プロパティ | 説明 |
|---|---|
RuleId | ルールの一意識別子。 |
IsEnabled | ルールが有効かどうかを示します。null に設定されている場合、DefaultIsEnabled の値が使用されます。 |
DefaultIsEnabled | ルールがデフォルトで有効かどうかを指定します。 |
ErrorLevel | ルール違反時に報告される重大度レベル。null に設定されている場合、DefaultErrorLevel の値が使用されます。 |
DefaultErrorLevel | ルールのデフォルトの重大度レベル(Error、Warning、または Info)。 |
Parameters | Name や Value などのルール固有の追加パラメータ。 |
ファイルとプロジェクトの解析
ルールを設定したら、ワークフロー アナライザー CLI(Aka.RPA.Analyzer.CLI.exe)を実行してワークフローまたはプロジェクトを解析します。
利用可能なコマンド
| コマンド | 説明 |
|---|---|
analyze | プロジェクト全体を解析します。project.json または project.v1.json ファイルへのパスが必要です。 |
analyze-file | 単一のワークフロー ファイルを解析します。.xaml ファイルへのパスが必要です。 |
コマンドライン引数
| 引数 | 説明 |
|---|---|
-p, --project-path | 解析するファイルへのパス。analyze-file の場合は .xaml ファイルを指定します。analyze の場合はプロジェクトの project.json または project.v1.json ファイルを指定します。 |
-c, --config-path | カスタム RuleConfig.json ファイルへのオプションのパス。設定ファイルがデフォルトの場所にない場合にのみ使用します。 |
-h, --help | 利用可能なコマンドと引数を表示します。 |
-v, --version | Aka.RPA.Analyzer.CLI.exe のバージョンを表示します。 |
例
以下のコマンドは Main.xaml ワークフローを解析します:
Aka.RPA.Analyzer.CLI.exe analyze-file -p:"C:\Users\datba\Documents\akaBot\RPA00301-1\Main.xaml"
出力
コマンドは JSON 形式のルール違反リストを返します。各違反には以下の情報が含まれています:
| フィールド | 説明 |
|---|---|
FilePath | 解析されたワークフロー ファイルへのパス。 |
ErrorCode | 違反したルールの識別子。 |
ActivityDisplayName | アクティビティまたはワークフローの表示名。 |
Item | 違反が発生したアイテム(例:アクティビティや変数)の名前と型。 |
ErrorLevel | 違反の重大度レベル(Error、Warning、または Info)。 |
Description | ルール違反の説明。 |
RuleName | 違反したルールの名前。 |
Recommendation | 問題を解決するための推奨アクション。 |
URL | 追加情報を含むドキュメントへのリンク。 |
出力例:
