検索結果 - スコープ対象、グローバル
Findings API は、インスタンススキャンチェックによる検出結果の生成方法を処理するためのメソッドを提供します。
この API は インスタンススキャン (com.glide.instance_scan) プラグインに含まれており、 sn_instance_scan 名前空間で実行されます。詳細については、「 Instance Scan」を参照してください。
Instance Scan では、インスタンスでスキャンのスコープ内の各レコードに対してチェックが実行され、検出結果が生成されます。各検出結果には、問題レコードと違反したチェックに関する情報が含まれます。検出結果 メソッドは、ユーザーに渡されるエンジンオブジェクトの一部として、 インスタンススキャン チェックで使用されます。チェックフォームの [スクリプト] フィールドにコードを追加します。
Findings - increment()
現在の検出結果の数を増やします。
結果数は、スキャンでチェックにより分析する各レコードでゼロから始まります。このメソッドを呼び出すと、結果数がインクリメントされます。結果数は、現在のレコードに対して検出結果が生成されることを示します。
このメソッドを複数回呼び出すと、検出結果には現在のレコードの複数のチェック違反が含まれている旨を表すことができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、テーブルタイプチェックで失敗ステータスのレコードの数をカウントする方法を示しています。詳細については、「 テーブルタイプチェックの作成」を参照してください。
(function(engine) {
if (current.getValue("state") == "failed") {
engine.finding.increment();
}
})(engine);
Findings - incrementWithNode(オブジェクト node)
現在の検出結果がリンターチェックのものである場合、このメソッドは、現在の結果数をインクリメントし、同時にリンターノードオブジェクトを検出結果に渡します。
このメソッドは、 リンターチェックフォームの [スクリプト] フィールドで使用します。このメソッドは、現在の検出結果の詳細列の行番号など、指定されたノードに関する情報を保存します。
| 名前 | タイプ | 説明 |
|---|---|---|
| node | オブジェクト | リンターチェックのノードオブジェクトです。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、リンターチェックでリンタータイプのノードをインクリメントする方法を示しています。リンターチェックメソッドの使用方法については、「LinterCheckAstNode API」を参照してください。
(function(engine) {
engine.rootNode.visit(function(node) {
if (node.getTypeName() === "NAME" &&
node.getNameIdentifier() === "soughtFunction" &&
node.getParent().getTypeName() === "CALL") {
engine.finding.incrementWithNode(node);
}
});
})(engine);
Findings - setCurrentSource(GlideRecord source)
指定された GlideRecord に基づいて現在の検出結果のソースを設定します。
このメソッドは、[スクリプトのみ] のチェックの [スクリプト] フィールドで使用します。このメソッドは他のチェックには使用されません。他のチェックではスキャン中にソースが現在のレコードとして自動的に設定されるためです。詳細については、「 スクリプトのみのチェックの作成」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| source | GlideRecord | 現在の検出結果のソースレコードとして設定するレコードです。この値は、スキャン結果 [scan_finding] テーブルの [ソース] フィールドに参照として追加されます。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、スクリプトのみのチェックで現在のソースをインシデントレコードに設定する方法を示しています。詳細については、「 スクリプトのみのチェックの作成」を参照してください。
(function(engine) {
var gr = new GlideRecord('incident');
gr.get('2f99f330730210100a5310c92bf6a798');
engine.finding.setCurrentSource(gr);
engine.finding.increment();
})(engine);