GlideRecordUtil - Global
Uma classe de utilitário para trabalhar com GlideRecords.
A classe GlideRecordUtil está disponível em scripts do lado do servidor. Para casos de uso, consulte Uso de 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 de 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(cadeia de caracteres baseTable, 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 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 |
|---|---|---|
| baseTable | 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 | O GlideRecord para o sys_id especificado. |
var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");
GlideRecordUtil - getTables(cadeia de caracteres "tableName")
Retorna um Java ArrayList dos ancestrais do nome da tabela especificado.
Por exemplo, dado cmdb_ci_linux_server, isso retornaria cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci e cmdbr.
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | Nome da tabela. |
| Tipo | Descrição |
|---|---|
| Lista de matrizes | Lista de ancestrais da tabela especificada. |
O exemplo a seguir mostra os ancestrais da tabela 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 no hashmap de ignorar.
| Nome | Tipo | Descrição |
|---|---|---|
| hashMap | Objeto | Uma instância de objeto (sendo usada como um hashmap), com propriedades nomeadas para campos e contendo o valor dos campos. |
| GlideRecord | GR | A instância GlideRecord para receber os valores de campo. |
| ignorar | Objeto | Um mapa de hash 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 o hashmap fornecido da instância GlideRecord fornecida. Cada campo no GlideRecord se torna uma propriedade no hashmap.
| Nome | Tipo | Descrição |
|---|---|---|
| hashMap | Objeto | Um objeto sendo usado como um hashmap. |
| now_GR | GlideRecord | Uma instância de GlideRecord posicionada para um registro válido. |
| ignorar | Objeto | Um mapa de hash opcional de nomes de arquivo a não preencher. |
| Tipo | Descrição |
|---|---|
| vazio |
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