GlideRecordUtil : Global
Die GlideRecordUtil -Skripteinbindung ist eine Dienstprogrammklasse für die Arbeit mit GlideRecords.
Diese Skripteinbindung ist in serverseitigen Skripts verfügbar. Informationen zu Anwendungsfällen finden Sie unter Discovery-Skripteinbindungenverwenden.
GlideRecordUtil – getCIGR(String sys_id)
Gibt das GlideRecord-Objekt für das angegebene Configuration Item (CI) zurück und verwendet nur die sys_id des CI.
Verwenden Sie diese Methode, um schnell ein bestimmtes CI abzurufen, ohne die zugehörige Klasse/Tabelle zu kennen.
| Name | Typ | Beschreibung |
|---|---|---|
| sys_id | Zeichenfolge | Sys_id des gewünschten CI. |
| Typ | Beschreibung |
|---|---|
| GlideRecord | GlideRecord-Objekt des angegebenen CI. |
Im folgenden Beispiel wird das GlideRecord-Objekt für das angegebene CI nur mit der sys_id des CI zurückgegeben.
var now_GR = new GlideRecordUtil().getCIGR("2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil – getFields(GlideRecord gr)
Gibt ein Array aller Felder im angegebenen GlideRecord zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| gr | GlideRecord | GlideRecord-Instanz für einen gültigen Datensatz positioniert. |
| 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);
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_listGlideRecordUtil – 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.
| Name | Typ | Beschreibung |
|---|---|---|
| baseTable | Zeichenfolge | Name der Basistabelle, die die sys_id enthält. |
| sys_id | Zeichenfolge | sys_id des gewünschten Datensatzes. |
| 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 Java Array-Liste der Vorgänger des angegebenen Tabellennamens zurück.
Bei Angabe von cmdb_ci_linux_server würde dies beispielsweise cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci und cmdbr zurückgeben.
| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Name der Tabelle. |
| Typ | Beschreibung |
|---|---|
| ArrayList | Liste der Vorgänger der angegebenen Tabelle. |
Das folgende Beispiel zeigt die Vorgänger der 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(Object 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.
| Name | Typ | Beschreibung |
|---|---|---|
| hashMap | Objekt | Objektinstanz (die als Hashmap verwendet wird), deren Eigenschaften nach Feldern benannt werden und deren Wert enthalten. |
| GlideRecord | GR | GlideRecord-Instanz, um die Feldwerte zu erhalten. |
| ignore | Objekt | Optionale Hashmap von zu ignorierenden Feldnamen. |
| 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 – PopuläreFromGR(Objekt hashMap, GlideRecord now_GR, Objekt ignorieren)
Füllt die angegebene Hashmap aus der angegebenen GlideRecord-Instanz. Jedes Feld im GlideRecord wird zu einer Eigenschaft in der Hashmap.
| Name | Typ | Beschreibung |
|---|---|---|
| hashMap | Objekt | Objekt, das als Hashmap verwendet wird. |
| now_GR | GlideRecord | Eine GlideRecord-Instanz, die an einem gültigen Datensatz positioniert ist. |
| ignore | Objekt | Optionale Hashmap von Dateinamen, die nicht gefüllt werden sollen. |
| Typ | Beschreibung |
|---|---|
| void |
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