GlideRecordUtil – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die GlideRecordUtil Die Skripteinbindung ist eine Dienstprogrammklasse für die Arbeit mit GlideRecords.

    Diese Skripteinbindung ist in serverseitigen Skripts verfügbar. Anwendungsfälle finden Sie unter Discovery-Skripteinbindungen verwenden .

    GlideRecordUtil – getCIGR(String sys_id)

    Gibt das GlideRecord-Objekt für das angegebene Konfigurationselement (CI) nur mithilfe der sys_ID des CI zurück.

    Verwenden Sie diese Methode, um schnell ein bestimmtes CI abzurufen, ohne die zugehörige Klasse/Tabelle zu kennen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    sys_id Zeichenfolge SYS_ID des gewünschten CI.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    GlideRecord GlideRecord-Objekt des angegebenen CI.

    Das folgende Beispiel gibt das GlideRecord-Objekt für das angegebene CI nur anhand der sys_ID des CI zurück.

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

    GlideRecordUtil – getFields(GlideRecord gr)

    Gibt ein Array aller Felder im angegebenen GlideRecord zurück.

    Hinweis:
    Wenn ein Feldname vorhanden ist, der mit dem Tabellennamen identisch ist, wird GetFields() Methode gibt den Wert des Felds nicht zurück.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    gr GlideRecord GlideRecord-Instanz in einem gültigen Datensatz positioniert.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Array Feldnamen für den angegebenen GlideRecord.
    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);
    Ausgabe: Zeilenumbrüche für die Präsentation hinzugefügt.
    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)

    Gibt eine GlideRecord-Instanz für die angegebene Tabelle zurück, positioniert an der angegebenen sys_id und mit der richtigen Klasse (Tabelle).

    Diese Methode ist nützlich, wenn Sie einen GlideRecord aus einer sys_id laden müssen, aber Sie nicht wissen, was die tatsächliche Tabelle ist (da sie möglicherweise von der Basistabelle aus erweitert wird). Diese Methode gibt immer einen GlideRecord des korrekten Typs „base_table“ zurück: den Namen der Basistabelle, in der sich die angegebene sys_id befindet.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    baseTable Zeichenfolge Name der Basistabelle, die die sys_id enthält.
    sys_id Zeichenfolge sys_id des gewünschten Datensatzes.
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    GlideRecord GlideRecord für die angegebene sys_id.
    var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");

    GlideRecordUtil – getTables(String tableName)

    Gibt eine Liste der Vorgänger einer angegebenen Tabelle zurück.

    Hinweis:
    Die angegebene Tabelle ist in der Liste ihrer Vorgänger enthalten.
    Tabelle : 7. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Array Liste der Vorgänger der angegebenen Tabelle.

    Das folgende Beispiel zeigt die Vorgänger der Linux-Server-Tabelle [cmdb_ci_linux_Server].

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

    Ausgabe:

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

    GlideRecordUtil – mergeToGR(Objekt-HashMap, GlideRecord now_GR, Objekt ignorieren)

    Legt die Felder im angegebenen GlideRecord mit den Feldwerten fest, die in der angegebenen Hashmap enthalten sind, es sei denn, dieser Feldname befindet sich in der ignore-Hashmap.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    hashMap Objekt Objektinstanz (die als Hashmap verwendet wird), deren Eigenschaften nach Feldern benannt werden und deren Wert enthalten.
    Now_GR GlideRecord GlideRecord-Instanz, um die Feldwerte zu erhalten.
    ignore Objekt Optionale Hashmap von zu ignorierenden Feldnamen.
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    void

    In diesem Beispiel werden die Felder „Name“ und „System“ eines Computerdatendsatzes aktualisiert, das Feld „sys_created_by“ jedoch nicht:

    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(Objekt-HashMap, GlideRecord now_GR, Objekt ignorieren)

    Füllt eine bestimmte Hashmap aus einem GlideRecord aus. Jedes Feld im GlideRecord wird zu einer Eigenschaft in der Hashmap.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    hashMap Objekt Das Objekt, das mit Feldern und Werten aus einem GlideRecord ausgefüllt werden soll.
    Now_GR GlideRecord Eine GlideRecord-Instanz, die an einem gültigen Datensatz positioniert ist.
    ignore Objekt Optional. Eine Hashmap von Feldnamen, die beim Ausfüllen des Objekts ausgeschlossen werden sollen.

    Für jedes Schlüssel-Wert-Paar in der Zuordnung ist der Schlüssel der Name des auszuschließenden Felds, und der Wert ist Wahr .

    {"field_name": true}
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird ein Objekt mit Feldern und Werten aus einem Computerdatensatz [cmdb_ci_Computer] gefüllt.

    var util = new GlideRecordUtil();
    var objectToPopulate = {};
    var computer = util.getCIGR("2dfd7c8437201000deeabfc8bcbe5d56"); // get CI record from cmdb_ci_computer
    var ignore = {"sys_created_on": true, "sys_updated_by": true};
    util.populateFromGR(objectToPopulate, computer, ignore);
    // Now objectToPopulate contains field/value pairs from the computer GlideRecord
    gs.info(JSON.stringify(objectToPopulate));

    Ausgabe:

    {
       "sys_id": "2dfd7c8437201000deeabfc8bcbe5d56",
       "operational_status": "1",
       "os_service_pack": "Service Pack 2",
       "cpu_manufacturer": "7aad6d00c611228400f00e0f80b67d2d",
       "sys_updated_on": "2024-07-27 22:28:37",
       "first_discovered": "2007-03-13 20:55:20",
       "invoice_number": "INV0166221",
       "sys_created_by": "admin",
       "warranty_expiration": "2019-10-07",
       "ram": "1534",
       "cpu_name": "Intel(R) Pentium(R) M processor 1.86GHz",
       "cpu_speed": "798",
       "sys_domain_path": "/",
       "disk_space": "51",
       "cost_center": "d9d0a971c0a80a641c20b13d99a48576",
       "assigned": "2024-03-16 07:00:00",
       "purchase_date": "2018-10-07",
       "last_discovered": "2007-04-12 23:17:45",
       "can_print": "0",
       "sys_class_name": "cmdb_ci_computer",
       "manufacturer": "aa0a6df8c611227601cd2ed45989e0ac",
       "cpu_count": "1",
       "vendor": "aa0a6df8c611227601cd2ed45989e0ac",
       "assigned_to": "47de9c73c61122930033f6521d1bb785",
       "os_version": "5.1.2600",
       "serial_number": "L3BB911",
       "cd_rom": "0",
       "unverified": "0",
       "asset": "8bc1ba8837f3100044e0bfc8bcbe5db9",
       "cpu_core_count": "1",
       "skip_sync": "0",
       "sys_domain": "global",
       "install_date": "2023-10-06 08:00:00",
       "asset_tag": "P1000227",
       "hardware_status": "installed",
       "install_status": "1",
       "name": "*ASSET-IBM",
       "virtual": "0",
       "po_number": "PO27711",
       "sys_class_path": "/!!/!2/!(",
       "company": "a66b1fb03710200044e0bfc8bcbe5d08",
       "department": "221f79b7c6112284005d646b76ab978c",
       "cost": "3665",
       "os": "Windows XP Professional",
       "sys_mod_count": "17",
       "monitor": "0",
       "model_id": "a9a2d0c3c6112276010db16c5ddd3461",
       "cost_cc": "USD",
       "location": "8225b668ac1d55eb679878e192fca315",
       "category": "Do not migrate to asset",
       "fault_count": "0"
    }