CIRelatedList - 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기9분
  • CIRelatedList 스크립트 포함은 CI(구성 항목) 관련 목록을 작업하기 위한 메서드를 제공하는 유틸리티 클래스입니다.

    이 스크립트 포함의 각 인스턴스에는 특정 CI와 관련된 단일 목록의 세부 정보가 포함되어 있습니다. 이 목록의 상세 정보와 목록의 내용이 포함되어 있습니다.

    모든 서버 측 검색 스크립트와 함께 사용합니다.

    CIRelatedList - addRec(객체 기록)

    관련 목록에 지정된 기록을 추가합니다.

    표 1. 매개변수
    이름 유형 설명
    기록 객체 개체의 각 멤버는 연결된 테이블의 열 이름입니다. 예를 들어 cmdb_serial_number 테이블을 참조하는 경우 이 값에는 다음과 유사한 내용이 포함될 수 있습니다.

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

    표 2. 반환
    유형 설명
    void

    이 예시는 CI 관련 목록에 기록을 추가하는 방법을 보여줍니다.

    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

    출력:

    {
      "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(배열 기록)

    제공된 기록을 관련 목록으로 설정합니다.

    표 3. 매개변수
    이름 유형 설명
    기록 객체 배열 각 개체는 연결된 테이블의 기록을 나타냅니다. 개체의 각 멤버는 해당 테이블의 열 이름입니다. 예를 들어 cmdb_serial_number 테이블을 참조하는 경우 이 값에는 다음과 유사한 내용이 포함될 수 있습니다.

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

    표 4. 반환
    유형 설명
    void

    이 예는 CI 관련 목록에 여러 기록을 추가하는 방법을 보여줍니다.

    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

    출력:

    {
      "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(문자열 상위, 문자열 이름, 문자열 데이텀)

    필드에 XML 하위 항목을 추가합니다.

    표 5. 매개변수
    이름 유형 설명
    상위 문자열 상위 요소
    이름 문자열 요소 이름
    데이텀 문자열 추가할 데이터
    표 6. 반환
    유형 설명
    void

    CIRelatedList - appendXMLChildRecord(문자열 상위, 문자열 이름, 문자열 기록)

    XML 하위 항목을 기록에 추가합니다.

    표 7. 매개변수
    이름 유형 설명
    상위 문자열 상위 요소
    이름 문자열 요소 이름
    기록 문자열 기록
    표 8. 반환
    유형 설명
    void

    CIRelatedList - checkSysCollection()

    이 테이블이 SysCollection 테이블인지 확인합니다. 이 경우 대상 테이블 이름과 참조 필드 이름을 설정합니다.

    표 9. 매개변수
    이름 유형 설명
    없음
    표 10. 반환
    유형 설명
    CIRelatedList 지정된 목록에 대한 CIRelatedList의 인스턴스입니다.

    CIRelatedList - checkSysM2M()

    이 테이블이 시스템 다대다 테이블인지 확인합니다. 이 경우 대상 테이블 이름과 참조 필드 이름을 설정합니다.

    표 11. 매개변수
    이름 유형 설명
    없음
    표 12. 반환
    유형 설명
    부울 sys 다대다 테이블인 경우 True입니다. 그렇지 않으면 false입니다.

    CIRelatedList - CIRelatedList(문자열 테이블, 문자열 refField, 문자열 cmdb_ci, 문자열 debugFlag)

    CIRelatedList 클래스의 인스턴스를 만듭니다. 인수가 없으면 빈 인스턴스를 생성하기만 하면 됩니다.

    표 13. 매개변수
    이름 유형 설명
    테이블 문자열 관련 목록이 포함된 테이블입니다. 다대다인 경우 다대다 테이블입니다.
    refField 문자열 이 관련 목록에 대한 테이블의 참조 필드입니다.
    cmdb_ci 문자열 이 목록과 관련된 CI의 sys_id입니다.
    디버그 플래그 문자열 true이면 디버그 로깅을 사용할 수 있습니다.

    CIRelatedList - fromXML(문자열 요소)

    지정된 XML 요소에서 이 인스턴스를 초기화합니다.

    표 14. 매개변수
    이름 유형 설명
    요소 문자열 XML 요소
    표 15. 반환
    유형 설명
    void

    CIRelatedList - populate()

    이 인스턴스의 this.records 필드를 채웁니다.

    표 16. 매개변수
    이름 유형 설명
    없음
    표 17. 반환
    유형 설명
    void

    CIRelatedList - toString(배열 결과)

    이 인스턴스의 문자열 표현을 만들어 각 라인을 지정된 결과 배열의 끝으로 밀어 넣습니다.

    이 메서드는 CIData.toString()에서 호출되며 관련 목록 줄이 두 칸 들여쓰기되어야 한다고 가정합니다.

    표 18. 매개변수
    이름 유형 설명
    결과 배열 변환할 결과
    표 19. 반환
    유형 설명
    void

    CIRelatedList - toXML(문자열 문서, 문자열 요소)

    이 인스턴스를 지정된 문서 및 <rl> 요소의 XML로 직렬화합니다.

    표 20. 매개변수
    이름 유형 설명
    문서 문자열 문서
    요소 문자열 rl 요소
    표 21. 반환
    유형 설명
    void

    CIRelatedList - remove()

    모든 관련 목록 항목을 제거합니다.

    표 22. 매개변수
    이름 유형 설명
    없음
    표 23. 반환
    유형 설명
    void

    이 코드 예제는 이름이 = *JEMPLOYEE-IBM인 CI 항목과 맵핑된 관련 레코드를 삭제합니다. 이 예는 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(문자열 레코드, 문자열 요소)

    관련 목록을 XML에서 기록 형식으로 변환합니다.

    표 24. 매개변수
    이름 유형 설명
    기록 문자열 작성할 기록
    요소 문자열 XML 요소
    표 25. 반환
    유형 설명
    void