GlideRecordUtil - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • A inclusão de script GlideRecordUtil é 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 Como usar 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 conhecer sua classe/tabela associada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    sys_id Cadeia de caracteres Sys_id do IC desejado.
    Tabela 2. Retorna
    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.

    Nota:
    Se houver um nome de campo igual ao nome da tabela, o método getFields() não retornará o valor do campo.
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    gr GlideRecord Instância de GlideRecord posicionada para um registro válido.
    Tabela 4. Retorna
    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);
    Saída: quebras de linha adicionadas para apresentação.
    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(cadeia de caracteres baseTable, cadeia de caracteres sys_id)

    Retorna uma instância de GlideRecord para a tabela fornecida, posicionada no 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á.

    Tabela 5. Parâmetros
    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.
    Tabela 6. Retorna
    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 especificada.

    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.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres Nome da tabela.
    Tabela 8. Retorna
    Tipo Descrição
    ArrayList 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 (objeto hashMap, GlideRecord now_GR, objeto ignorar)

    Define os campos no GlideRecord especificado com os valores de campos contidos no mapa de hash especificado, a menos que o nome do campo esteja no hashmap de ignorar.

    Tabela 9. Parâmetros
    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 de GlideRecord para receber os valores de campos.
    ignorar Objeto Um hashmap opcional de nomes de campo a serem ignorados.
    Tabela 10. Retorna
    Tipo Descrição
    vazio

    Este exemplo atualiza os campos de nome e sistema operacional 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.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    hashMap Objeto Um objeto sendo usado como um hashmap.
    now_GR GlideRecord Uma instância de GlideRecord posicionada em um registro válido.
    ignorar Objeto Um hashmap opcional de nomes de arquivo a não ser preenchido.
    Tabela 12. Retorna
    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