GlideRecordUtil : global
L’include de script GlideRecordUtil est une classe utilitaire permettant d’utiliser 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 le sys_id du CI.
Utilisez cette méthode pour obtenir rapidement un CI spécifique sans connaître sa classe/table associée.
| Nom | Type | Description |
|---|---|---|
| sys_id | Chaîne | Sys_id du CI souhaité. |
| Type | Description |
|---|---|
| GlideRecord | Objet GlideRecord du CI spécifié. |
L’exemple suivant renvoie l’objet GlideRecord pour le CI spécifié en utilisant uniquement la 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é.
| Nom | Type | Description |
|---|---|---|
| gr | GlideRecord | Instance GlideRecord positionnée sur un enregistrement valide. |
| Type | Description |
|---|---|
| Tableau | Noms de champs 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);
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)
Retourne 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 quelle est la table réelle (car elle peut être étendue à partir de la table de base). Cette méthode renvoie toujours un GlideRecord du type correct base_table : le nom de la table de base dans laquelle se trouve le sys_id spécifié.
| Nom | Type | Description |
|---|---|---|
| Table de base | Chaîne | Nom de la table de base contenant le sys_id. |
| sys_id | Chaîne | Le sys_id de l’enregistrement souhaité. |
| 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 une liste des ancêtres d’une table spécifiée.
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Nom de la table. |
| Type | Description |
|---|---|
| Tableau | Liste des ancêtres de la table spécifiée. |
L’exemple suivant montre les ancêtres de la table Serveur Linux [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.
| Nom | Type | Description |
|---|---|---|
| Carte de hachage | Objet | Instance d’objet (utilisée comme carte de hachage), avec des propriétés nommées d’après des champs et contenant la valeur des champs. |
| now_GR | GlideRecord | Instance GlideRecord qui doit recevoir les valeurs de champ. |
| ignorer | Objet | Une carte de hachage facultative de noms de champs à ignorer. |
| Type | Description |
|---|---|
| nul |
Cet exemple met à jour les champs de nom et de système d’exploitation 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 une carte de hachage donnée à partir d’un GlideRecord. Chaque champ de GlideRecord devient une propriété dans la carte de hachage.
| Nom | Type | Description |
|---|---|---|
| Carte de hachage | Objet | Objet à renseigner avec les champs et les valeurs à partir d’un GlideRecord. |
| now_GR | GlideRecord | Une instance GlideRecord positionnée sur un enregistrement valide. |
| ignorer | Objet | Facultatif. Une carte de hachage des noms de champs à exclure lors du remplissage de l’objet. Pour chaque paire clé-valeur de la carte, la clé est le nom du champ à exclure et la valeur est |
| Type | Description |
|---|---|
| nul |
Cet exemple remplit un objet avec les champs et les valeurs d’un enregistrement d’ordinateur [cmdb_ci_computer].
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));
Sortie :
{
"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"
}