コード分析ポリシーの管理

コード分析ポリシーは、さまざまなプロジェクトに適用できる一連のルールで、コーディング標準を導入する際に柔軟に対応できます。

コード品質を向上させるために管理者としてできることは、次のとおりです。
  • さまざまなルールのポリシーを作成できます。
  • [オートメーション] ページで、フォルダーごとに異なるポリシーを適用できます。
  • コード分析ポリシーの管理中に、ポリシー ルールの詳細に簡単にアクセスできます。

コード分析ポリシーの有効化

管理者は、コード分析ポリシーを有効にするには [管理] > [設定] > [ポリシー] タブの順に移動する必要があります。[編集] をクリックして、コード分析ポリシーを有効にします。コード分析ポリシーを有効にすると、次の動作が実行されます。

  • コード分析が、コード分析ポリシーの割り当てられたフォルダー内にある [未スキャン] ステータスの公開ワークスペース内にあるすべての Bots で自動的に実行されます。これにより、公開ワークスペース内の Bots のコーディングのベスト プラクティスが可視化されます。コード分析は 5 分ごとに実行され、5 分間に 1000 Bot ファイルがスキャンされます。
  • コード分析は、BotBot エディター に保存したときに起動されます。
  • コード分析の結果の概要は、[オートメーション] ページで確認できます。
  • コード分析の結果は、[アシスタント] タブに表示されます。
  • コード分析の実行アイコンは、[オートメーション] ページの行レベルのアクションから使用できます。[オートメーション] ページからコード分析を実行すると、コード分析の違反レポートをダウンロードできます。

コード分析ポリシーを無効にすると、コード分析の機能を使用できなくなります。

バックグラウンド スキャンがパフォーマンスに与える影響

コード分析のための自動スキャンは、Control Room で実行されるバックグラウンド ジョブです。5 分ごとに実行され、1000 ファイルずつスキャンされます。

Control Room のパフォーマンスへの影響を最小限に抑えるため、自動コード分析は単一の Control Room ノードでのみ実行されます (複数ノードのデプロイの場合)。一度に実行されるバックグラウンド スキャン ジョブは 1 つだけです。つまり、1 つのジョブの実行が完了してから、ジョブの別のインスタンスが起動されます。バックグラウンド ジョブはファイルを 1 つずつ順番にスキャンするので、特定の時点でバックグラウンド ジョブがスキャンしているファイルの最大数は 1 つのみです。

次に、公開リポジトリ全体のフルスキャンが開始される条件を示します。
  • ルート フォルダーにポリシーが追加された。
  • ルート フォルダーに適用されるポリシーが変更された。
  • 公開リポジトリ内のすべてのフォルダーでポリシーが追加または変更された。
注:
  • 大規模なリポジトリの場合、バックグラウンド スキャン ジョブによるスキャンには数時間かかります。
  • 自動コード分析でスキャンされるのは [未スキャン] ステータスのファイルのみですが、ポリシーを変更すると、更新されたポリシーを持つフォルダー内のすべてのファイルが [未スキャン] ステータスに設定されます。

コード分析が有効か無効かにかかわらず、複数のポリシーを作成し、それらのポリシーを [オートメーション] ページの異なるフォルダーに割り当てることができます。

次のビデオは、コード分析ポリシーを有効にする方法を示しています。

コード分析ポリシーの作成と割り当て

コード分析用の名前付きポリシーを複数設定できます。この機能により、異なる設定や重大度レベルで構成されたルールを持つ異なるポリシーを作成できます。これらの名前付きコード分析ポリシーを使用して、特定フォルダーにポリシーを割り当てることにより、さまざまなコード品質基準を定義し、異なるオートメーション プロジェクトに適用できます。これにより、既存の古いプロジェクトではコード品質基準を徐々に導入し、新しいプロジェクトではより強固な基準を適用するという柔軟な対応が可能になります。

コード解析ポリシーを設定するには、[ポリシーの表示] および [ポリシーの管理] の権限が必要です。これらの権限により、開発者がオートメーションを構築する方法を定義するポリシーを表示、編集、および割り当てることができます。[ポリシーの管理] 権限を使用すると、アクセス権のあるフォルダーにポリシーを割り当てることができます。

[管理] > [ポリシー] ページには、[ポリシー] と [割り当て] の 2 つのタブがあります。これらのポリシーは、[ポリシー] タブで作成し、名前を付けることができます。ポリシーはいくつでも作成することができます。上部の検索ツールで、任意のポリシーを検索できます。ポリシー セレクター ウィンドウのポリシーの名前または説明のいずれかを使用して、ポリシーを検索できます。また、右側のアクション メニュー (縦の 3 点リーダー) をクリックし、適切なアクションを選択することにより、任意のポリシーの表示、編集、削除を行えます。

[割り当て] タブを使用して、[オートメーション] ページでフォルダーにポリシーを割り当てます。右側のアクション メニュー (縦の 3 点リーダー) をクリックし、[ポリシーの割り当て解除] を選択することにより、任意のフォルダーに割り当てられたポリシーを削除できます。

ポリシー概要ポップアップ: ポリシー概要ポップアップでは、ポリシーで定義されたルールの詳細とその重大度をすばやく簡単に参照することができます。このポップアップでは、ポリシー マネージャーの [ポリシー] タブと [割り当て] タブを行き来することなく、さまざまなフォルダーにどのポリシーが適用されているかを容易に把握することができます。また、特定のフォルダーにどのポリシーを割り当てるかを速やかに決定することができます。

このポリシー概要ポップアップは、以下のタブで提供されます。
  • [ポリシー] タブ: ルールの番号をクリックします。
  • [割り当て] タブ: [ポリシーを割り当てる] オプションで、ルールの番号または割り当てられたポリシーをクリックします。

フォルダー操作に関するポリシーの動作

次の表は、フォルダーで一定の操作が実行された場合のポリシーの動作を示しています。
フォルダーの操作 ポリシーの動作
作成 フォルダーは、最も近い親フォルダーからポリシーを継承します
名前を変更 フォルダーは現在のポリシーを保持します
移動 フォルダーは、現在のポリシーを保持するか、または最も近い親フォルダーからポリシーを継承します
削除 フォルダーに割り当てられたポリシーが削除されます

Bot でコード分析を実行すると、Bot が配置されているフォルダー (割り当てまたは継承) に適用されるポリシーが使用されます。