CIRelatedList - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 5 min. de leitura
  • A inclusão de script CIRelatedList é uma classe de utilitário que fornece métodos para trabalhar com listas relacionadas a itens de configuração (IC).

    Cada instância desta inclusão de script contém os detalhes de uma única lista relacionada a um IC específico. Os detalhes desta lista e o conteúdo da lista estão incluídos.

    Use com qualquer script de descoberta do lado do servidor.

    CIRelatedList – addRec(registro de objeto)

    Adiciona o registro especificado à lista relacionada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    registro Objeto Cada membro no objeto é um nome de coluna na tabela associada. Por exemplo, se estiver fazendo referência à tabela cmdb_serial_number, este valor poderá conter algo semelhante ao seguinte:

    {"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"verdadeiro"}

    Tabela 2. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como adicionar um registro a uma lista relacionada de IC.

    var ciDataObj = new CIData(); // Instantiate a new CIData class object
    
    // sys_id of the CI to which the related list is attached.
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
    
    // Create an object and add the serial numbers
    var sr = {"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"};
    rl.addRec(sr); // Add the related list. Sets the given records to the related list.
    ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
    gs.info(JSON.stringify(rl, null, 4)); // Display the added related list

    Saída:

    {
      "GlideRecordUtil": {},
      "ignoreFields": {
        "sys_created_by": true,
        "sys_updated_by": true,
        "sys_mod_count": true
      },
      "records": [
        {
          "serial_number_type": "bios",
          "serial_number": "1BC5E4z89246",
          "valid": "true"
        }
      ],
      "m2m_records": [],
      "table_name": "cmdb_serial_number",
      "field_name": "cmdb_ci",
      "cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
      "debug_flag": "true",
      "isM2M": false,
      "target_table_name": null,
      "target_ref_field_name": null
    }

    CIRelatedList - addRecs(Registros de matriz)

    Define os registros fornecidos para a lista relacionada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    registros Matriz de objetivos Cada objeto representa um registro na tabela associada. Cada membro no objeto é um nome de coluna nessa tabela. Por exemplo, se estiver fazendo referência à tabela cmdb_serial_number, este valor poderá conter algo semelhante ao seguinte:

    [{"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"},{"serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true "}]

    Tabela 4. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como adicionar vários registros a uma lista relacionada de IC.

    var ciDataObj = new CIData(); // Instantiate a new CIData class object
    
    // sys_id of the CI to which the related list is attached.
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
    
    // Create an object and add the serial numbers
    var sr = [{"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"},{"serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true"}];
    
    rl.addRecs(sr); // Add the related list. Sets the given records to the related list.
    
    ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
    gs.info(JSON.stringify(rl, null, 4)); // Display the added related list

    Saída:

    {
      "GlideRecordUtil": {},
      "ignoreFields": {
        "sys_created_by": true,
        "sys_updated_by": true,
        "sys_mod_count": true
      },
      "records": [
        {
          "serial_number_type": "bios",
          "serial_number": "1BC5E4z89246",
          "valid": "true"
        },
        {
          "serial_number_type": "baseboard",
          "serial_number": "w4z89246",
          "valid": "true"
        }
      ],
      "m2m_records": [],
      "table_name": "cmdb_serial_number",
      "field_name": "cmdb_ci",
      "cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
      "debug_flag": "true",
      "isM2M": false,
      "target_table_name": null,
      "target_ref_field_name": null
    }

    CIRelatedList – appendXMLChildFld(cadeia de caracteres primária, cadeia de caracteres name, cadeia de caracteres de referência)

    Anexa um XML secundário a um campo.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    primário Cadeia de caracteres O elemento primário
    nome Cadeia de caracteres O nome do elemento
    referência Cadeia de caracteres Os dados a serem anexados
    Tabela 6. Retorna
    Tipo Descrição
    vazio

    CIRelatedList - appendXMLChildRecord (cadeia de caracteres primária, nome de cadeia de caracteres, registro de cadeia de caracteres)

    Anexa um XML secundário a um registro.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    primário Cadeia de caracteres O elemento primário
    nome Cadeia de caracteres O nome do elemento
    registro Cadeia de caracteres O registro
    Tabela 8. Retorna
    Tipo Descrição
    vazio

    CIRelatedList – checkSysCollection()

    Verifica se esta é uma tabela SysCollection. Se for, define o nome da tabela de destino e o nome do campo de referência.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    CIRelatedList Uma instância de CIRelatedList para a lista especificada.

    CIRelatedList – checkSysM2M()

    Verifica se esta é uma tabela de muitos para muitos do sistema. Se for, define o nome da tabela de destino e o nome do campo de referência.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Booliano Verdadeiro se for uma tabela de muitos para muitos do sistema; caso contrário, falso.

    CIRelatedList - CIRelatedList(cadeia de caracteres tabela, cadeia de caracteres refField, cadeia de caracteres cmdb_ci, cadeia de caracteres debugFlag)

    Cria uma instância da classe CIRelatedList. Sem argumentos, simplesmente constrói uma instância vazia.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    tabela Cadeia de caracteres A tabela que contém a lista relacionada. Se for many-to-many, a tabela many-to-many.
    refField Cadeia de caracteres O campo de referência na tabela para esta lista relacionada.
    cmdb_ci Cadeia de caracteres O sys_id do IC ao qual esta lista está relacionada.
    debugFlag Cadeia de caracteres Se verdadeiro, o registro em log de depuração está habilitado.

    CIRelatedList - fromXML (elemento de cadeia de caracteres)

    Inicializa esta instância a partir do elemento XML especificado.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    elemento Cadeia de caracteres Um elemento XML
    Tabela 15. Retorna
    Tipo Descrição
    vazio

    CIRelatedList – preencher()

    Preenche o campo this.records desta instância.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 17. Retorna
    Tipo Descrição
    vazio

    CIRelatedList - toString(resultado da matriz)

    Faz uma representação de cadeia de caracteres desta instância, inserindo cada linha no final da matriz de resultados fornecida.

    Este método é chamado de CIData.toString()e assume que as linhas da lista relacionada devem ser recuadas em dois espaços.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    resultado Matriz O resultado a ser convertido
    Tabela 19. Retorna
    Tipo Descrição
    vazio

    CIRelatedList - toXML(Documento de cadeia de caracteres, Elemento de cadeia de caracteres)

    Serializa esta instância para XML no documento fornecido e<rl> elemento.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    documento Cadeia de caracteres O documento
    elemento Cadeia de caracteres O elemento rl
    Tabela 21. Retorna
    Tipo Descrição
    vazio

    CIRelatedList – remover()

    Remove todos os itens de lista relacionados.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 23. Retorna
    Tipo Descrição
    vazio

    Este exemplo de código exclui os registros relacionados mapeados com os itens de IC com o nome = *JEMPLOYEE-IBM. Este exemplo é para uma tabela não M2M.

    //Get a configuration item record which has a related list. Example:  CI items with the name = *JEMPLOYEE-IBM.
    var ciRecord = new GlideRecord("cmdb_ci_computer");
    ciRecord.addQuery("name", "*JEMPLOYEE-IBM");
    ciRecord.query();
    if (ciRecord.next()) {
    
        var relRecordTable = 'cmdb_ci_network_adapter'; // The table containing the related list (if many-to-many, the many-to-many table)
        var relRecordField = 'cmdb_ci'; // The reference field in the table for this related list
        var cmdb_ciHasRelRecord = ciRecord.sys_id; // The sys_id of the CI this list is related to.
        var debugFlag = 'true'; // True if debug logging is enabled.
    
        // Get the related record List
        var CIRelatedList = new CIRelatedList(relRecordTable, relRecordField, cmdb_ciHasRelRecord, debugFlag);
        CIRelatedList.remove(); // Delete all related records
    }

    CIRelatedList – xmlToRecord(cadeias de caracteres registradas, elemento de cadeia de caracteres)

    Converte uma lista relacionada de XML para o formato de registro.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    registros Cadeia de caracteres O registro a ser criado
    elemento Cadeia de caracteres O elemento XML
    Tabela 25. Retorna
    Tipo Descrição
    vazio