Résultats - Champ d’application, Global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • L’API Findings fournit des méthodes pour gérer la façon dont une vérification produit des Instance Scan résultats.

    Cette API est incluse dans le module d’extension Instance Scan (com.glide.instance_scan) et s’exécute dans l’espace de noms sn_instance_scan . Pour plus d’informations, consultez Instance Scan.

    Dans Instance Scan, les vérifications s’exécutent sur chaque enregistrement dans le champ d’application d’une analyse sur l’instance pour générer des résultats. Chaque résultat contient des informations sur un enregistrement de problème et sur la vérification qu’il a violée. Les méthodes de résultats sont utilisées dans Instance Scan les vérifications dans le cadre de l’objet moteur transmis à l’utilisateur. Ajoutez le code dans le champ Script du formulaire de vérification.

    Résultats : increment()

    Augmente le nombre de résultats actuels.

    Le nombre de résultats commence à zéro pour chaque enregistrement qu’une vérification analyse dans une analyse. Lorsqu’elle est appelée, cette méthode incrémente le nombre de résultats. Le nombre indique qu’un résultat doit être généré pour l’enregistrement actuel.

    Cette méthode peut être appelée plusieurs fois pour signifier que ce résultat a plusieurs occurrences d’une violation de contrôle dans l’enregistrement actuel.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment compter le nombre d’enregistrements présentant un état d’échec dans une vérification de type de table. Pour plus d’informations, reportez-vous à la rubrique Créer une vérification de type de table.

    (function(engine) {
      if (current.getValue("state") == "failed") {
        engine.finding.increment();
      }
    })(engine);

    Conclusions : incrementWithNode(Object node)

    Si le résultat actuel provient d’une vérification de linter, cette méthode incrémente le nombre de résultats actuels et transmet simultanément l’objet de nœud linter au résultat.

    Utilisez cette méthode dans le champ Script du formulaire Vérification Linter. Cette méthode enregistre des informations sur le nœud donné, telles qu’un numéro de ligne dans la colonne de détails d’un résultat actuel.

    Tableau 3. Paramètres
    Nom Type Description
    nœud Objet Objet de nœud de la vérification de linter.
    Tableau 4. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment incrémenter des noeuds de type linter dans une vérification linter. Pour plus d’informations sur l’utilisation des méthodes de vérification LinterCheckAstNode, consultez API LinterCheckAstNode.

    (function(engine) {
      engine.rootNode.visit(function(node) {
        if (node.getTypeName() === "NAME" &&
            node.getNameIdentifier() === "soughtFunction" &&
            node.getParent().getTypeName() === "CALL") {
          engine.finding.incrementWithNode(node);
        } 
      });
    })(engine);

    Résultats : setCurrentSource(source GlideRecord)

    Définit la source du résultat actuel en fonction du GlideRecord fourni.

    Utilisez cette méthode dans le champ Script d’une vérification Script uniquement. Cette méthode n’est pas utilisée pour d’autres vérifications, car elles définissent automatiquement la source comme enregistrement actuel pendant l’analyse. Pour plus d’informations, consultez Créer une vérification de script uniquement.

    Tableau 5. Paramètres
    Nom Type Description
    source GlideRecord Enregistrement à définir comme enregistrement source pour le résultat actuel. Cette valeur est ajoutée en tant que référence dans le champ Source de la table Conclusions de l’analyse [scan_finding].
    Tableau 6. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment définir la source actuelle sur un enregistrement d’incident dans une vérification de script uniquement. Pour plus d’informations, consultez Créer une vérification de script uniquement.

    (function(engine) {
      var gr = new GlideRecord('incident');
      gr.get('2f99f330730210100a5310c92bf6a798');
      engine.finding.setCurrentSource(gr);
      engine.finding.increment();
    })(engine);