新しい拡張ポリシーのテストとトラブルシューティング
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションが必要です。 |
Sandbox でテストする
新しいポリシーは、本番にリリースする前に必ず Sandbox でテストします。Sandbox で、ポリシーを作成して有効化してから、さまざまなアクションを試してポリシーが期待どおりに実行されるかどうかをテストします。
- リードに関する標準レポートを実行する
- リードに関するカスタムレポートタイプを作成し、そのタイプを使用するレポートを実行する
- リードに関するレポートの REST API クエリを実行する
ポリシー条件を確認する
ポリシーが期待どおりに動作しない場合、追加した条件が適切ではない可能性があります。イベントマネージャは、ポリシー条件のトラブルシューティングに適したツールです。イベントマネージャの UI からイベントの保存またはストリーミングを有効化すると、組織の実際のイベントの項目値を調べることができます。これらの実際の値を期待値と比較し、一致するかどうかを確認できます。
たとえば、「QueriedEntities 次の値と等しい Lead」という条件を指定して ReportEvent ポリシーを作成するとします。次に、組織で Lead オブジェクトが含まれるカスタムレポートタイプを実行します。ポリシーがトリガされることを期待していますが、トリガされません。次の手順を実行して、問題を見つけます。
- 組織での ReportEvent の履歴を参照するために、イベントマネージャで ReportEvent の保存を有効化します。
- ReportEvent エントリが保存されるように再度カスタムレポートタイプを実行します。
- ワークベンチなどの API クライアントから、ReportEvent イベントオブジェクトを照会し、このカスタムレポートタイプの最近の実行に対応するエントリを見つけます。
- QueriedEntities 項目の値を確認します。期待した値ですか? 違っていれば、条件を変更します。たとえば、カスタムレポートタイプがリード以外のオブジェクトにも関連する場合、QueriedEntities の値は、Lead, Campaign, MyCustomObject__c のようになっています。この場合、ポリシー条件を「QueriedEntities 次の値を含む Lead」に変更します。
自動 Apex テストを追加する
自動 Apex テストは、新しい拡張ポリシーの Apex コードに入力ミス、論理的な不具合、退行があるか見つけるのに適した方法です。一般には、ベストプラクティスとして、開発サイクルの早期に自動テストを作成します。テストにより、本番環境のユーザに悪影響を与える前に、誤動作するポリシーを修正できます。
たとえば、リードデータエクスポート Apex クラスに入力ミスが含まれていて、条件が Lead ではなく Laed を評価しているとします。この Apex テストを実行すると、失敗するため、問題があることがわかります。
Apex デバッグログを追加する
Apex テストを作成して実行した後、Apex コードに問題があることはわかりますが、それが何かはわかりません。Apex デバッグログを使用すると、Apex クラスの動作を可視化しやすくなるため、問題を修正できます。
現在 System.debug() ステートメントに Laed という入力ミスが含まれている、リードデータエクスポート拡張ポリシーの Apex コードを更新しましょう。
開発者コンソールから Apex テストを再実行し、Apex コードが生成したデバッグログを表示します。次の例では、最近のイベントの Lead が含まれていない QueriedEntities 項目が表示されています。強調表示されたデバッグログで、正しく評価されなかった条件が特定されます。これで、簡単に Apex コードを調べて入力ミスを見つけることができます。

本番環境でポリシーが実行されたときのデバッグ出力を表示する場合は、自動ユーザのユーザ追跡フラグを追加します。自動ユーザがトランザクションセキュリティポリシーを実行します。
![新しいユーザ追跡フラグが表示されている [設定] の [デバッグログ]](https://developer.salesforce.com/docs/resources/img/ja-jp/228.0?doc_id=images%2Fenh_txn_sec_migrate_trace_flag.png&folder=securityImplGuide)