GlideRecordUtil : global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • L’include de script GlideRecordUtil est une classe utilitaire pour travailler avec GlideRecords.

    Cet include de script est disponible dans les scripts côté serveur. Pour les cas d’utilisation, consultez Utilisation des includes de script de détection.

    GlideRecordUtil : getCIGR(chaîne sys_id)

    Renvoie l’objet GlideRecord pour l’élément de configuration (CI) spécifié en utilisant uniquement l’sys_id du CI.

    Cette méthode permet d’obtenir rapidement un CI spécifique sans connaître sa classe/table associée.

    Tableau 1. Paramètres
    Nom Type Description
    sys_id Chaîne Sys_id du CI souhaité.
    Tableau 2. Renvoie
    Type Description
    GlideRecord Objet GlideRecord du CI spécifié.

    L’exemple suivant renvoie l’objet GlideRecord pour le CI spécifié en utilisant uniquement l’sys_id du CI.

    var now_GR = new GlideRecordUtil().getCIGR("2dfd7c8437201000deeabfc8bcbe5d56");

    GlideRecordUtil : getFields(GlideRecord gr)

    Renvoie un tableau de tous les champs dans le GlideRecord spécifié.

    Remarque :
    S’il existe un nom de champ qui est le même que le nom de la table, la méthode getFields() ne renvoie pas la valeur du champ.
    Tableau 3. Paramètres
    Nom Type Description
    gr GlideRecord Instance GlideRecord positionnée sur un enregistrement valide.
    Tableau 4. Renvoie
    Type Description
    Tableau Noms de champ pour le GlideRecord spécifié.
    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    now_GR.next();
    
    var gRU = new GlideRecordUtil();
    var fieldList = gRU.getFields(now_GR);
    gs.info(fieldList);
    Sortie : Saut de ligne ajouté pour la présentation.
    sys_id,skills,closed_by,assigned_to,contract,category,escalation,state,reassignment_count,location,
    time_worked,order,due_date,number,upon_approval,sys_tags,sla_due,follow_up,reopen_count,notify,business_stc,
    caused_by,rejection_goto,assignment_group,comments_and_work_notes,incident_state,opened_at,parent_incident,
    business_service,wf_activity,calendar_duration,group_list,caller_id,comments,priority,sys_updated_by,
    variables,delivery_task,resolved_at,sys_updated_on,parent,active,opened_by,expected_start,watch_list,
    company,upon_reject,work_notes,sys_created_by,additional_assignee_list,approval_set,cmdb_ci,user_input,
    sys_created_on,close_code,contact_type,resolved_by,rfc,approval_history,activity_due,severity,child_incidents,
    ,subcategory,work_end,closed_at,close_notes,variables,business_duration,knowledge,approval,sys_domain_path,
    sys_mod_count,problem_id,calendar_stc,work_start,sys_domain,correlation_id,sys_class_name,short_description,
    impact,description,correlation_display,urgency,made_sla,delivery_plan,work_notes_list

    GlideRecordUtil : getGR(String baseTable, String sys_id)

    Renvoie une instance GlideRecord pour la table donnée, positionnée sur le sys_id donné et de la classe appropriée (table).

    Cette méthode est utile lorsque vous devez charger un GlideRecord à partir d’un sys_id, mais que vous ne savez pas ce qu’est la table réelle (car elle peut être étendue à partir de la table de base). Cette méthode retourne toujours un GlideRecord du type correct base_table : le nom de la table de base dans laquelle se trouve le sys_id spécifié.

    Tableau 5. Paramètres
    Nom Type Description
    table de base Chaîne Nom de la table de base contenant le sys_id.
    sys_id Chaîne La sys_id de l’enregistrement souhaité.
    Tableau 6. Renvoie
    Type Description
    GlideRecord GlideRecord pour le sys_id spécifié.
    var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");

    GlideRecordUtil : getTables(String tableName)

    Renvoie un tableau Java des ancêtres du nom de table spécifié.

    Par exemple, compte tenu de cmdb_ci_linux_server, cela renvoie cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci et cmdbr.

    Tableau 7. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table.
    Tableau 8. Renvoie
    Type Description
    TableauListe Liste des ancêtres de la table spécifiée.

    L’exemple suivant montre les ancêtres de la table cmdb_ci_linux_server.

    var tables = new GlideRecordUtil().getTables("cmdb_ci_linux_server");
    gs.info("Tables returned: " + tables);

    Sortie :

    Tables returned: [cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci, cmdb]
    

    GlideRecordUtil : mergeToGR(Object hashMap, GlideRecord now_GR, Object ignore)

    Définit les champs dans le GlideRecord spécifié avec les valeurs de champ contenues dans la carte de hachage spécifiée, sauf si ce nom de champ se trouve dans la carte de hachage ignorer.

    Tableau 9. Paramètres
    Nom Type Description
    Carte de hachage Objet Instance d’objet (en cours d’utilisation comme carte de hachage) avec des propriétés nommées pour les champs et contenant la valeur des champs.
    GlideRecord GR Instance GlideRecord permettant de recevoir les valeurs de champ.
    ignorer Objet Carte de hachage facultative des noms de champs à ignorer.
    Tableau 10. Renvoie
    Type Description
    nul

    Cet exemple met à jour le nom et les champs OS d’un enregistrement d’ordinateur, mais ne met pas à jour le champ sys_created_by :

    var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");   
    var obj = {"name": "xyz", "os": "windows 2000", "sys_created_by", "aleck.lin"};
    var ignore = {"sys_created_by": true};
    new GlideRecordUtil().mergeToGR(obj, now_GR, ignore);
    now_GR.update();

    GlideRecordUtil : populateFromGR(Object hashMap, GlideRecord now_GR, Object ignore)

    Remplit la carte de hachage donnée à partir de l’instance GlideRecord donnée. Chaque champ du GlideRecord devient une propriété dans la carte de hachage.

    Tableau 11. Paramètres
    Nom Type Description
    Carte de hachage Objet Un objet utilisé comme carte de hachage.
    now_GR GlideRecord Instance GlideRecord positionnée sur un enregistrement valide.
    ignorer Objet Une carte de hachage facultative des noms de fichiers à ne pas renseigner.
    Tableau 12. Renvoie
    Type Description
    nul
    var objectToPopulate = {};
    var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
    var ignore = {"sys_created_on": true, "sys_updated_by": true};
    new GlideRecordUtil().populateFromGR(objectToPopulate, now_GR, ignore);
    // Now the objectToPopulate contains field/value pairs from the computer GlideRecord