GlideRecordUtil - 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기7분
  • GlideRecordUtil 스크립트 포함은 GlideRecord 작업을 위한 유틸리티 클래스입니다.

    이 스크립트 포함은 서버 측 스크립트에서 사용할 수 있습니다. 사용 사례는 검색 스크립트 포함 사용 섹션을 참조하세요.

    GlideRecordUtil - getCIGR(문자열 sys_id)

    CI의 sys_id만 사용하여 지정된 CI(구성 항목)에 대한 GlideRecord 객체를 반환합니다.

    이 방법을 사용하여 연결된 클래스/테이블을 모른 채 특정 CI를 빠르게 가져올 수 있습니다.

    표 1. 매개변수
    이름 유형 설명
    sys_id 문자열 원하는 CI의 Sys_id.
    표 2. 반환
    유형 설명
    GlideRecord 지정된 CI의 GlideRecord 객체입니다.

    다음 예에서는 CI의 sys_id만 사용하여 지정된 CI에 대한 GlideRecord 객체를 반환합니다.

    var now_GR = new GlideRecordUtil().getCIGR("2dfd7c8437201000deeabfc8bcbe5d56");

    GlideRecordUtil - getFields(GlideRecord gr)

    지정된 GlideRecord에 있는 모든 필드의 배열을 반환합니다.

    주:
    테이블 이름과 동일한 필드 이름이 있는 경우 getFields() 메서드는 필드 값을 반환하지 않습니다.
    표 3. 매개변수
    이름 유형 설명
    gr GlideRecord 유효한 기록에 배치된 GlideRecord 인스턴스입니다.
    표 4. 반환
    유형 설명
    배열 지정된 GlideRecord의 필드 이름입니다.
    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_list

    GlideRecordUtil - getGR(String baseTable, String sys_id)

    지정된 테이블에 대한 GlideRecord 인스턴스를 반환하고, 지정된 sys_id에 배치되고, 올바른 클래스(테이블)의 인스턴스를 반환합니다.

    이 방법은 sys_id에서 GlideRecord를 로드해야 하지만 실제 테이블이 무엇인지 모를 때 유용합니다(기본 테이블에서 확장될 수 있기 때문에). 이 메서드는 항상 올바른 유형 base_table, 즉 지정된 sys_id 있는 기본 테이블의 이름인 GlideRecord를 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    기본 테이블 문자열 sys_id 포함하는 기본 테이블의 이름입니다.
    sys_id 문자열 원하는 기록의 sys_id.
    표 6. 반환
    유형 설명
    GlideRecord 지정된 sys_id 대한 GlideRecord
    var now_GR = new GlideRecordUtil().getGR("cmdb_ci_computer", "2dfd7c8437201000deeabfc8bcbe5d56");

    GlideRecordUtil - getTables(문자열 테이블 이름)

    지정된 테이블 이름의 조상 Java ArrayList를 반환합니다.

    예를 들어 cmdb_ci_linux_server가 지정된 경우 cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci 및 cmdbr이 반환됩니다.

    표 7. 매개변수
    이름 유형 설명
    tableName 문자열 테이블의 이름입니다.
    표 8. 반환
    유형 설명
    배열 목록 지정된 테이블의 조상 목록입니다.

    다음 예에서는 cmdb_ci_linux_server 테이블의 상위 항목을 보여 줍니다.

    var tables = new GlideRecordUtil().getTables("cmdb_ci_linux_server");
    gs.info("Tables returned: " + tables);

    출력:

    Tables returned: [cmdb_ci_linux_server, cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci, cmdb]
    

    GlideRecordUtil - mergeToGR(객체 hashMap, GlideRecord now_GR, 객체 무시)

    해당 필드 이름이 무시 해시맵에 없는 경우 지정된 해시 맵에 포함된 필드 값을 사용하여 지정된 GlideRecord의 필드를 설정합니다.

    표 9. 매개변수
    이름 유형 설명
    해시맵 객체 필드 이름이 지정되고 필드 값을 포함하는 속성이 있는 Object 인스턴스(해시맵으로 사용됨).
    GlideRecord GR 필드 값을 받을 GlideRecord 인스턴스입니다.
    ignore 객체 무시할 필드 이름의 선택적 해시맵입니다.
    표 10. 반환
    유형 설명
    void

    다음 예시에서는 컴퓨터 기록의 이름 및 os 필드를 업데이트하지만 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(객체 hashMap, GlideRecord now_GR, 객체 무시)

    지정된 GlideRecord 인스턴스에서 지정된 해시 맵을 채웁니다. GlideRecord의 각 필드는 해시 맵의 속성이 됩니다.

    표 11. 매개변수
    이름 유형 설명
    해시맵 객체 해시 맵으로 사용되는 객체입니다.
    now_GR GlideRecord 유효한 기록에 배치된 GlideRecord 인스턴스
    ignore 객체 채우지 않을 파일 이름의 선택적 해시맵입니다.
    표 12. 반환
    유형 설명
    void
    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