GlideRecordUtil - Global
. GlideRecordUtil Inclusão de script é uma classe de utilitário para trabalhar com GlideRecords.
Esta inclusão de script está disponível em scripts do lado do servidor. Para casos de uso, consulte Usando inclusões de script de descoberta .
GlideRecordUtil - getCIGR(cadeia de caracteres sys_id)
Retorna o objeto GlideRecord para o item de configuração (IC) especificado usando apenas o sys_id do IC.
Use este método para obter rapidamente um IC específico sem saber sua classe/tabela associada.
| Nome | Tipo | Descrição |
|---|---|---|
| sys_id | Cadeia de caracteres | Sys_id do IC desejado. |
| Tipo | Descrição |
|---|---|
| GlideRecord | Objeto GlideRecord do IC especificado. |
O exemplo a seguir retorna o objeto GlideRecord para o IC especificado usando apenas o sys_id do IC.
var now_GR = new GlideRecordUtil().getCIGR("2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil - getFields (GlideRecord gr)
Retorna uma matriz de todos os campos no GlideRecord especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| gr | GlideRecord | Instância GlideRecord posicionada para um registro válido. |
| Tipo | Descrição |
|---|---|
| Matriz | Nomes de campo para o GlideRecord especificado. |
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 (tabela de base de cadeia de caracteres, cadeia de caracteres sys_id)
Retorna uma instância GlideRecord para a tabela fornecida, posicionada para o sys_id fornecido e da classe correta (tabela).
Este método é útil quando você precisa carregar um GlideRecord de um sys_id, mas você não sabe qual é a tabela real (porque ela pode ser estendida da tabela base). Este método sempre retorna um GlideRecord do tipo correto base_table: O nome da tabela base em que o sys_id especificado está.
| Nome | Tipo | Descrição |
|---|---|---|
| Tabela base | Cadeia de caracteres | O nome da tabela base que contém o sys_id. |
| sys_id | Cadeia de caracteres | O sys_id do registro desejado. |
| Tipo | Descrição |
|---|---|
| GlideRecord | GlideRecord para o sys_id especificado. |
var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil - getTables(cadeia de caracteres tablename)
Retorna uma lista dos ancestrais de uma tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | Nome da tabela. |
| Tipo | Descrição |
|---|---|
| Matriz | Lista de ancestrais da tabela especificada. |
O exemplo a seguir mostra os ancestrais da tabela Servidor Linux [cmdb_ci_linux_server].
var tables = new GlideRecordUtil().getTables("cmdb_ci_linux_server");
gs.info("Tables returned: " + tables);
Saída:
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)
Define os campos no GlideRecord especificado com os valores de campo contidos no hashmap especificado, a menos que o nome do campo esteja em Ignorar hashmap.
| Nome | Tipo | Descrição |
|---|---|---|
| HashMap | Objeto | Uma instância de objeto (sendo usada como hashmap), com propriedades nomeadas para campos e contendo o valor dos campos. |
| Now_GR | GlideRecord | A instância GlideRecord para receber os valores de campo. |
| ignorar | Objeto | hashmap opcional de nomes de campo a serem ignorados. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo atualiza os campos de nome e SO de um registro de computador, mas não atualiza o campo 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)
Preenche um determinado hashmap de um GlideRecord. Cada campo no GlideRecord se torna uma propriedade no hashmap.
| Nome | Tipo | Descrição |
|---|---|---|
| HashMap | Objeto | O objeto a ser preenchido com campos e valores de um GlideRecord. |
| Now_GR | GlideRecord | Uma instância do GlideRecord posicionada para um registro válido. |
| ignorar | Objeto | Opcional. Um hashmap de nomes de campo a serem excluídos ao preencher o objeto. Para cada par de chave-valor no mapa, a chave é o nome do campo a ser excluído e o valor é |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo preenche um objeto com campos e valores de um registro Computador [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));
Saída:
{
"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"
}