DuplicateTemplate - 범위 지정됨

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 44분
  • DuplicateTemplate API는 각 메서드에 대해 일련의 유효성 검사를 적용하여 사용자가 중복 제거 템플릿과 상호 작용할 수 있는 메서드를 제공합니다.

    중복 제거 작업 정정은 개별적으로 처리할 때 바람직한 것보다 더 많은 시간이 소요될 수 있습니다. 중복 템플릿을 사용하면 중복 작업 세트를 그룹화하고 함께 실행할 수 있습니다. DuplicateTemplate API를 사용하여 중복 제거 템플릿을 생성하고 사용합니다. 이 API는 sn_cmdb 네임스페이스에서 실행되며 액세스하려면 cmdb_dedup_admin 역할이 필요합니다.

    인스턴스가 식별 및 조정 중에 중복된 구성 항목(CI)을 감지하면, 검토 및 수정을 위해 중복 CI의 각 집합을 중복 제거 작업으로 그룹화합니다. 중복 제거 작업은 모든 중복 CI 목록을 포함하여 중복에 대한 상세 정보를 제공합니다. 자세한 내용은 Duplicate CIs remediation 문서를 참조하십시오.

    참조: IdentificationEngine - 범위 지정됨

    템플릿 수명주기
    1. CreateTemplate() 메서드를 사용하여 초안 상태의 템플릿을 생성합니다.
      다음 메서드를 사용하여 템플릿을 검색하거나 업데이트할 수 있습니다.
    2. publishTemplate() 메서드를 사용하여 템플릿을 초안 상태에서 게시 상태로 이동합니다.
      주:
      unPublishTemplate() 메서드를 사용하여 게시된 템플릿을 초안 상태로 되돌리고 템플릿을 업데이트합니다.
    3. 옵션입니다. CMDBDuplicateTemplateUtil 스크립트 포함을 사용하여 작업을 추가하거나 제거합니다.
    4. runTemplate() 메서드를 사용하여 템플릿을 실행합니다.

      실행 중인 작업을 취소하려면 requestCancellation() 메서드를 사용합니다.

    5. 템플릿이 더 이상 필요하지 않은 경우 retireTemplate() 메서드를 사용하여 템플릿을 폐기할 수 있습니다.
    템플릿을 사용하여 단일 작업 정정
    템플릿을 실행하지 않고 단일 작업을 정정하기 위해 중복 제거 작업을 미리 보고 정정할 수 있습니다.
    1. previewTemplate() 메서드를 사용하여 템플릿으로 단일 작업의 정정을 미리 봅니다.
    2. remediateTask() 메서드를 사용하여 템플릿으로 중복 제거 작업을 정정합니다.

    DuplicateTemplate - canAddTasksToTemplate(배열 taskIds, 문자열 templatId)

    제공된 작업 목록을 템플릿에 추가할 수 있는지 확인합니다.

    이 방법을 사용하여 작업이 템플릿에 추가하기에 적합한지 여부를 결정합니다. 예를 들어, 지정된 템플리트는 애플리케이션 서버 Tomcat에 대해 작성될 수 있지만 지정된 중복 제거 작업은 Linux Server에 대해 작성될 수 있습니다. 이러한 작업에는 일치하는 템플릿 클래스가 없으므로 템플릿에 추가할 수 없습니다.

    표 1. 매개변수
    이름 유형 설명
    taskIds 배열 템플릿에 추가할 중복 제거 작업의 sys_ids 배열입니다.
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    표 2. 반환
    유형 설명
    객체 추가, 건너뛰기 또는 실패할 수 있는 작업이 포함된 결과 객체입니다.
    {
      "success": [
        "<task_id_1>",
        "<task_id_2>",
        "<task_id_3>"
      ],
      "failed": [
        "<task_id_4>"
      ],
      "skipped": [
        "<task_id_5>"
      ]
    }
    실패 작업이 템플릿과 호환되는지 확인하는 동안 오류가 발생했습니다. Detecting duplicate CIs 또한 참조하십시오.
    건너뜀 작업은 일치하는 템플릿 클래스가 없어서 작업을 건너뛰었기 때문에 호환되지 않습니다.
    성공 작업이 템플릿 클래스와 일치하며 템플릿에 추가할 수 있습니다.

    다음 예제에서는 템플릿에 추가할 수 있는 작업을 확인하는 방법을 보여 줍니다.

    var taskIds = [];
    taskIds.push(<task_id_1>);
    taskIds.push(<task_id_2>);
    taskIds.push(<task_id_3>);
    
    var result = sn_cmdb.DuplicateTemplate.canAddTasksToTemplate(taskIds, <template_id>);
    
    gs.info('Success:' + result.success);
    gs.info('Failed:' + result.failed);
    gs.info('Skipped:' + result.skipped);

    출력:

    Success: <task_id_1>
    Failed: <task_id_2>
    Skipped: <task_id_3>

    DuplicateTemplate - createTemplate(객체 템플릿)

    초안 상태에서 중복 제거 템플릿을 작성합니다.

    표 3. 매개변수
    이름 유형 설명
    템플릿 객체 템플릿을 생성하기 위한 다양한 옵션이 있는 템플릿 객체입니다.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    template.allow_null_attribute_update 부울 옵션입니다. 중복 제거 작업 내에서 CI에 대한 속성 상충을 해결할 때 메인 CI 속성이 중복 CI의 null 값으로 업데이트되는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 메인 CI 속성이 중복 CI의 null 값으로 업데이트됩니다.
    • false: 메인 CI 속성이 중복 CI의 null 값으로 업데이트되지 않습니다.

    기본값: False

    template.allow_master_ci_null_update 부울 옵션입니다. 메인 CI 값이 null인 경우 중복 CI의 업데이트만 포함합니다.

    메인 CI 값이 null인 경우 중복 CI의 업데이트만 포함할지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 메인 CI 값이 null인 경우에만 중복 CI의 업데이트를 포함합니다.
    • 아니오: 모든 중복 CI의 업데이트를 포함합니다.

    기본값: False

    template.description 문자열 옵션입니다. 템플릿에 대한 추가 정보를 저장하는 설명입니다.
    template.duplicate_ci_action 문자열 옵션입니다. 중복 CI를 삭제할지 아니면 고유한 사용자 지정 값으로 업데이트할지 여부를 지정합니다.
    가능한 옵션:
    • 삭제
    • 업데이트(지정해야 duplicate_ci_updates함)
    template.duplicate_ci_updates 배열 설정이 duplicate_ci_actionupdate가 아닌 경우 선택 사항입니다. 중복 CI 값이 업데이트되는 방법을 지정하는 객체의 배열입니다.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    template.duplicate_ci_updates.요소 문자열 참조 필드의 시스템 딕셔너리 이름입니다.
    template.duplicate_ci_updates.element_label 문자열 참조 필드가 표시하는 레이블입니다.
    template.duplicate_ci_updates.값 문자열 참조 필드의 값, 즉 참조 필드의 내용입니다.
    template.duplicate_ci_updates.display 문자열 참조 필드의 표시 값입니다.
    template.master_ci_option 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업을 위해 메인 CI를 선택하는 방법을 지정합니다.
    가능한 옵션:
    • 조건부(지정해야 master_ci_condition함)
    • most_related_items - 가장 관련성이 높은 항목이 있는 CI에서 메인 CI로 병합할 속성입니다.
    • most_relations – 메인 CI와 가장 많은 관계가 있는 CI에서 병합할 속성입니다.
    • newest_created – 가장 최근에 업데이트된 CI에서 메인 CI로 병합할 별도의 속성입니다.
    • oldest_created – 가장 오래 전에 생성된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.master_ci_조건 문자열 선택 사항입니다(값이 master_ci_option조건부인 경우 필수). 메인 CI를 선택하는 방법을 지정하는 인코딩된 쿼리입니다. 쿼리와 일치하는 CI가 여러 개 있거나 없는 경우 메서드는 가장 최근에 업데이트된 CI를 메인 CI로 선택합니다. 인코딩된 쿼리는 템플릿 테이블에 대해 평가됩니다. 이 테이블은 속성에서 식별됩니다 table .

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    template.merge_relations 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대한 관계가 병합되는 방법을 지정합니다.
    가능한 옵션:
    • 모두
    • 조건부
    • 없음
    template.merge_relations 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대한 관계가 병합되는 방법을 지정합니다.
    가능한 옵션:
    • 모두
    • 조건부
    • 없음
    template.merge_relations_condition 문자열 선택 사항입니다(값이 merge_relations조건부인 경우 필수). 중복 CI의 관계를 병합할지 아니면 병합하지 않을지를 지정하는 인코딩된 쿼리입니다. 쿼리는 중복 제거 작업을 위해 선택된 메인 CI에서 평가됩니다. 쿼리가 true를 반환하면 모든 관계가 병합됩니다. false인 경우 관계가 병합되지 않습니다.

    인코딩된 쿼리는 템플릿 테이블에 대해 평가됩니다. 이 테이블은 속성에서 식별됩니다 table .

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    template.merge_related_items 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대해 어떤 관련 테이블이 메인 CI에 병합되는지 지정합니다. 참조 Remediate a de-duplication task (manual).
    가능한 옵션:
    • all_available – 기본 관련 테이블과 템플릿을 통해 정정된 중복 제거 작업에 대한 중복 CI를 참조하는 모든 관련 테이블을 포함합니다.
    • 조건부
    • 기본값 – 중복 CI 정정 도구 기본 관련 항목 모듈에서 제공하는 관련 항목을 포함합니다.
    • 없음
    template.merge_related_items_condition 배열 옵션입니다. 각 관련 항목에 대해 인코딩된 쿼리가 있는 관련 항목 목록입니다. 각 쿼리는 작업에 대해 선택된 기본 CI에서 평가됩니다. 쿼리가 true를 반환하면 중복 제거 작업을 정정하는 동안 관련 항목이 병합됩니다. false인 경우 관련 항목이 병합되지 않습니다.
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    template.most_relations_merge_attributes 문자열 옵션입니다. 메인 CI와 가장 많은 관계가 있는 CI에서 병합할 속성이며 쉼표로 구분됩니다.
    template.most_related_items_merge_attributes 문자열 옵션입니다. 가장 관련성이 높은 항목이 있는 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.name 문자열 템플릿의 이름입니다.
    template.newest_updated_merge_attributes 문자열 옵션입니다. 가장 최근에 업데이트된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.oldest_created_merge_attributes 문자열 옵션입니다. 가장 오래 전에 생성된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.table 문자열 템플릿이 만들어지는 테이블입니다.
    template.task_conditions 문자열 옵션입니다. 템플릿이 실행될 때 평가할 인코딩된 쿼리입니다. 이 쿼리는 중복 작업 데이터 조정 [reconcile_duplicate_task_data] 테이블에서 평가됩니다. 이 쿼리에서 반환된 모든 작업은 템플릿 평가 중에 고려됩니다.
    주:
    작업이 쿼리의 일부로 반환되더라도 템플릿 실행이 작업을 처리한다고 보장하지는 않습니다. 다른 요인으로 인해 템플릿 처리 중에 작업을 건너뛸 수 있습니다.

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    표 4. 반환
    유형 설명
    문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에서 작성된 템플릿의 Sys_id입니다.

    다음 예제에서는 중복 제거 템플릿을 생성하는 방법을 보여 줍니다.

    var template = {
      "name": "Test Windows Template",
      "table": "cmdb_ci_win_server",
      "description": "This is a Windows server template",
      "master_ci_option": "oldest_created",
      "master_ci_condition": "",
      "allow_null_attribute_update": false,
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "serial_number,os_version",
      "merge_relations": "all",
      "merge_relations_condition": "",
      "merge_related_items": "conditional",
      "merge_related_items_condition": [
        {
          "related_entry": "change_request.cmdb_ci",
          "condition": "ramCONTAINS1024"
        },
        {
          "related_entry": "incident.cmdb_ci",
          "condition": "os_versionCONTAINSWindows"
        }
      ],
      "duplicate_ci_action": "delete",
      "duplicate_ci_updates":   [{
        "element": "ram",
        "element_label": "RAM (MB)",
        "value": "1024",
        "display": "1024"
      }],
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
    };
    
    var templateId = sn_cmdb.DuplicateTemplate.createTemplate(template);
    
    gs.info(templateId);

    출력:

    8dfcd36e042b2510f877c1665753a485

    DuplicateTemplate - getTemplate(문자열 templateId)

    템플릿 개체를 가져옵니다.

    표 5. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    표 6. 반환
    유형 설명
    객체 템플릿을 생성하기 위한 다양한 옵션이 있는 템플릿 객체입니다.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    <Object>.allow_null_ attribute_update 중복 제거 작업 내에서 CI에 대한 속성 상충을 해결할 때 메인 CI 속성이 중복 CI의 null 값으로 업데이트되는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 메인 CI 속성이 중복 CI의 null 값으로 업데이트됩니다.
    • false: 메인 CI 속성이 중복 CI의 null 값으로 업데이트되지 않습니다.

    데이터 유형: 부울

    <Object>.allow_master_ci_ null_update 메인 CI 값이 null인 경우 중복 CI의 업데이트만 포함합니다.
    유효한 값은 다음과 같습니다.
    • true: 메인 CI 값이 null인 경우에만 중복 CI의 업데이트를 포함합니다.
    • 아니오: 모든 중복 CI의 업데이트를 포함합니다.

    데이터 유형: 부울

    <Object>.묘사 템플릿에 대한 추가 정보를 저장하는 설명입니다.

    데이터 유형: 문자열

    <Object>.duplicate_ ci_action 중복 CI를 삭제할지 아니면 고유한 사용자 지정 값으로 업데이트할지 여부를 지정합니다.
    가능한 옵션:
    • 삭제
    • 업데이트(지정해야 duplicate_ci_updates함)

    데이터 유형: 문자열

    <Object>.duplicate_ ci_updates 중복 CI 값이 업데이트되는 방법을 지정하는 객체의 배열입니다.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    데이터 유형: 객체

    <Object>.duplicateCIUpdates.element 참조 필드의 시스템 딕셔너리 이름입니다.

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates.element_label 참조 필드가 표시하는 레이블입니다.

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates.value 참조 필드의 값, 즉 참조 필드의 내용입니다.

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates.display 참조 필드의 표시 값입니다.

    데이터 유형: 문자열

    <Object>.master_ci_ 옵션 이 템플릿을 적용할 때 중복 제거 작업을 위해 메인 CI를 선택하는 방법을 지정합니다.
    가능한 옵션:
    • 조건부(지정해야 master_ci_condition함)
    • most_related_items - 가장 관련성이 높은 항목이 있는 CI에서 메인 CI로 병합할 속성입니다.
    • most_relations – 메인 CI와 가장 많은 관계가 있는 CI에서 병합할 속성입니다.
    • newest_created – 가장 최근에 업데이트된 CI에서 메인 CI로 병합할 별도의 속성입니다.
    • oldest_created – 가장 오래 전에 생성된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.

    데이터 유형: 문자열

    <Object>.merge_relations 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대한 관계가 병합되는 방법을 지정합니다.
    가능한 옵션:
    • 모두
    • 조건부
    • 없음

    데이터 유형: 문자열

    <Object>.merge_related_items 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대해 어떤 관련 테이블이 메인 CI에 병합되는지 지정합니다. 참조 Remediate a de-duplication task (manual).
    가능한 옵션:
    • all_available – 기본 관련 테이블과 템플릿을 통해 정정된 중복 제거 작업에 대한 중복 CI를 참조하는 모든 관련 테이블을 포함합니다.
    • 조건부
    • 기본값 – 중복 CI 정정 도구 기본 관련 항목 모듈에서 제공하는 관련 항목을 포함합니다.
    • 없음

    데이터 유형: 문자열

    <Object>.merge_related_items_ 조건 각 관련 항목에 대해 인코딩된 쿼리가 있는 관련 항목 목록입니다. 각 쿼리는 작업에 대해 선택된 기본 CI에서 평가됩니다. 쿼리가 true를 반환하면 중복 제거 작업을 정정하는 동안 관련 항목이 병합됩니다. false인 경우 관련 항목이 병합되지 않습니다.

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    데이터 유형: 배열

    <Object>.most_relations_ merge_attributes 메인 CI와 가장 많은 관계가 있는 CI에서 병합할 속성이며 쉼표로 구분됩니다.

    데이터 유형: 문자열

    <Object>.most_related_items_ merge_attributes 가장 관련성이 높은 항목이 있는 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.

    데이터 유형: 문자열

    <Object>.이름 템플릿의 이름입니다.

    데이터 유형: 문자열

    <Object>.newest_updated_ merge_attributes 가장 최근에 업데이트된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.

    데이터 유형: 문자열

    <Object>.oldest_created_ merge_attributes 가장 오래 전에 생성된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.

    데이터 유형: 문자열

    <Object>.테이블 템플릿이 만들어지는 테이블입니다.

    데이터 유형: 문자열

    <Object>.task_condition_table 테이블 작업 조건의 위치, 즉 중복 작업 데이터 조정 [reconcile_duplicate_task_data] 테이블입니다. 값은 변경되지 않으며 테이블은 내부 전용입니다.

    데이터 유형: 문자열

    <Object>.task_conditions 템플릿이 실행될 때 평가할 인코딩된 쿼리입니다. 이 쿼리는 중복 작업 데이터 조정 [reconcile_duplicate_task_data] 테이블에서 평가됩니다. 이 쿼리에서 반환된 모든 작업은 템플릿 평가 중에 고려됩니다.
    주:
    작업이 쿼리의 일부로 반환되더라도 템플릿 실행이 작업을 처리한다고 보장하지는 않습니다. 다른 요인으로 인해 템플릿 처리 중에 작업을 건너뛸 수 있습니다.

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    데이터 유형: 문자열

    다음 예제에서는 템플릿을 검색하는 방법을 보여 줍니다.

    var template = sn_cmdb.DuplicateTemplate.getTemplate('<template_id>');
    gs.info(JSON.stringify(template));

    출력:

    {
      "most_relations_merge_attributes": "",
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ",
      "duplicate_ci_updates": "org.mozilla.javascript.NativeArray@5d3b19ef",
      "description": "This is a Windows server template",
      "master_ci_option": "oldest_created",
      "merge_related_items": "conditional",
      "duplicate_ci_action": "delete",
      "newest_updated_merge_attributes": "",
      "merge_related_items_condition": [
        {
          "condition": "os_versionCONTAINSWindows",
          "related_entry": "incident.cmdb_ci"
        },
        {
          "condition": "ramCONTAINS1024",
          "related_entry": "change_request.cmdb_ci"
        }
      ],
      "most_related_items_merge_attributes": "",
      "merge_relations": "all",
      "task_condition_table": "reconcile_duplicate_task_data",
      "name": "Test Windows Template",
      "allow_null_attribute_update": false,
      "table": "cmdb_ci_win_server",
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "serial_number,os_version"
    }

    DuplicateTemplate - previewTemplate(String templateId, String taskId)

    중복 제거 작업에 다양한 템플릿 옵션이 적용된 방식과 수정 방법에 대한 미리 보기를 생성합니다.

    이 메서드는 템플릿을 사용하여 작업에 대한 미리 보기를 생성하기 전에 필요한 모든 속성의 유효성을 검사합니다. 필수 속성을 지정하지 않고도 템플릿을 만들거나 업데이트할 수 있습니다. 중복 제거 작업을 미리 보려면 필수 속성을 제공해야 합니다.

    다음 속성이 필요합니다.
    • duplicate_ci_action
    • master_ci_option
    • merge_related_items
    • merge_relations
    • 이름
    • 테이블
    주:
    이 메서드는 모든 특성의 유효성을 검사하지만 미리 보기를 위해 템플릿이 게시된 상태여야 할 필요는 없습니다.

    remediateTask() 메서드를 사용하여 중복 제거 작업을 정정합니다.

    표 7. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    taskId 문자열 중복 작업 정정 [reconcile_duplicate_task] 테이블에 나열된 중복 제거 작업의 Sys_id입니다.
    표 8. 반환
    유형 설명
    객체 템플릿을 사용하여 중복 제거 작업을 정정할 수 있는 방법을 보여주는 값이 있는 객체 미리 보기입니다.
    {
      "allClassCIMap": {Object},
      "duplicateCIAction": "String",
      "duplicateCIUpdates": [Array],
      "masterCI": "String",
      "mergeRelations": Boolean,
      "relatedTablesMerged": [Array],  
      "resolvedFieldCIMap": [Array],
      "taskId": "String",
      "tooManyDuplicates": Boolean
    }
    <Object>.allClassCIMap CI 클래스별로 그룹화된 중복 제거 작업 내의 CI sys_ids 목록입니다. 예를 들어, cmdb_ci_computer을(를) 선택합니다.
    "allClassCIMap": {
      "<ci_class_name>": [
        "<ci_sys_id_1>",
        "<ci_sys_id_2>"
      ]
    }

    데이터 유형: 객체

    <Object>.duplicateCIAction 중복 CI를 삭제할지 아니면 고유한 사용자 지정 값으로 업데이트할지 여부를 지정합니다.
    가능한 옵션:
    • 삭제
    • 업데이트(지정해야 duplicate_ci_updates함)

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates 중복 CI 값이 업데이트되는 방법을 지정하는 객체의 배열입니다.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    데이터 유형: 배열

    <Object>.duplicateCIUpdates.element 참조 필드의 시스템 딕셔너리 이름입니다.

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates.element_label 참조 필드가 표시하는 레이블입니다.

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates.value 참조 필드의 값, 즉 참조 필드의 내용입니다.

    데이터 유형: 문자열

    <Object>.duplicateCIUpdates.display 참조 필드의 표시 값입니다.

    데이터 유형: 문자열

    <Object>.masterCI 메인 CI로 선택된 CI의 Sys_id입니다.

    데이터 유형: 문자열

    <Object>.mergeRelations 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대한 관계가 병합되는 방법을 지정합니다.
    가능한 옵션:
    • 모두
    • 조건부
    • 없음

    데이터 유형: 문자열

    <Object>.relatedTables병합됨 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대해 어떤 관련 테이블이 메인 CI에 병합되는지 지정합니다. 참조 Remediate a de-duplication task (manual).
    가능한 옵션:
    • all_available – 기본 관련 테이블과 템플릿을 통해 정정된 중복 제거 작업에 대한 중복 CI를 참조하는 모든 관련 테이블을 포함합니다.
    • 조건부
    • 기본값 – 중복 CI 정정 도구 기본 관련 항목 모듈에서 제공하는 관련 항목을 포함합니다.
    • 없음

    데이터 유형: 배열

    <Object>.resolvedFieldCIMap 중복 CI에서 메인 CI로 병합할 요소의 배열입니다.
    "resolvedFieldCIMap": [
      {
        "element": "String",
        "sys_id": "String"
      }
    ]

    데이터 유형: 배열

    <Object>.resolvedFieldCIMap 입니다.요소 중복 CI에서 메인 CI로 병합할 요소의 이름입니다.

    데이터 유형: 문자열

    <Object>.resolvedFieldCIMap 입니다.sys_id 중복 CI에서 메인 CI로 병합할 요소의 Sys_id입니다.

    데이터 유형: 문자열

    <Object>.taskId 중복 작업 정정 [reconcile_duplicate_task] 테이블에 나열된 중복 제거 작업의 Sys_id입니다.

    데이터 유형: 문자열

    <Object>.tooManyDuplicates 작업에 최대 CI 수보다 많은지 여부를 나타내는 플래그입니다. 임계치는 시스템 속성 glide.duplicate_ci_ remediator.max.cis(기본값 1,000 CIs)의 값을 비교하여 결정됩니다.
    유효한 값은 다음과 같습니다.
    • true: CI의 작업 수가 CI의 최대 수를 초과합니다.
    • false: CI의 작업 수가 CI의 최대 수를 초과하지 않습니다.

    데이터 유형: 부울

    다음 예제에서는 지정된 템플릿에 대한 중복 제거 정정의 미리 보기를 가져오는 방법을 보여 줍니다.

    var preview = sn_cmdb.DuplicateTemplate.previewTemplate("<template_id>", "<task_id>");
    gs.info(JSON.stringify(preview));

    출력:

    {
      "taskId": "<task_id>",
      "masterCI": "<ci_sys_id_1>",
      "allClassCIMap": {
        "cmdb_ci_computer": [
          "<ci_sys_id_1>",
          "<ci_sys_id_2>"
        ]
      },
      "resolvedFieldCIMap": [
        {
          "element": "ram",
          "sys_id": "<ci_sys_id_2>"
        },
        {
          "element": "os_version",
          "sys_id": "<ci_sys_id_2>"
        }
      ],
      "mergeRelations": true,
      "relatedTablesMerged": [
        "incident.cmdb_ci",
        "change_request.cmdb_ci"
      ],
      "duplicateCIAction": "delete",
      "duplicateCIUpdates": [],
      "tooManyDuplicates": false
    }

    DuplicateTemplate - publishTemplate(문자열 templateId)

    템플릿을 게시합니다. 성공하면 템플릿이 초안에서 게시됨 상태로 전환됩니다.

    이 메서드는 템플릿을 게시하기 전에 필요한 모든 특성의 유효성을 검사합니다. 필수 속성을 지정하지 않고 템플릿을 만들거나 업데이트할 수 있지만 템플릿을 게시하기 전에 해당 속성을 제공해야 합니다.

    다음 속성이 필요합니다.
    • duplicate_ci_action
    • master_ci_option
    • merge_related_items
    • merge_relations
    • 이름
    • 테이블

    게시된 상태에서는 runTemplate() 메서드를 사용하여 템플릿을 실행할 수 있습니다.

    표 9. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    표 10. 반환
    유형 설명
    부울

    템플릿이 게시되었는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 템플릿이 게시되었습니다.
    • false: 템플릿이 게시되지 않았습니다.

    다음 예제에서는 템플릿을 게시하고 결과를 표시하는 방법을 보여 줍니다.

    var isPublished = sn_cmdb.DuplicateTemplate.publishTemplate('<template_id>');
    gs.info(isPublished);

    출력:

    true

    DuplicateTemplate - remediateTask(String templateId, String taskId)

    템플릿을 사용하여 중복 제거 작업을 정정합니다.

    템플릿이 게시됨 상태가 아니면 템플릿을 실행할 수 없으며 메서드에서 예외를 throw합니다.

    previewTemplate() 메서드를 사용하여 중복 제거 작업을 수정하는 방법을 미리 봅니다.

    표 11. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    taskId 문자열 중복 작업 정정 [reconcile_duplicate_task] 테이블에 나열된 중복 제거 작업의 Sys_id입니다.
    표 12. 반환
    유형 설명
    문자열 성공하면 중복 제거 작업 정정을 위한 병합 해결 ID입니다. 이 병합 해결 ID는 중복 CI 정정 [cmdb_duplicate_ci_remediation] 테이블에 있는 기록의 sys_id입니다. 실패하면 템플릿이 게시됨 상태가 아닐 수 있습니다.

    다음 예제에서는 중복 제거 작업을 정정하는 방법을 보여줍니다.

    var mergeResolutionId = sn_cmdb.DuplicateTemplate.remediateTask("<template_id>", "<task_id>");
    gs.info(mergeResolutionId);

    출력:

    <merge_resolution_id>

    DuplicateTemplate - requestCancellation(문자열 templateRunId)

    기존 템플릿 실행을 취소합니다.

    템플릿 실행이 초안, 준비 또는 실행 중 상태인 경우에만 취소 요청을 할 수 있습니다.

    템플릿이 취소 요청을 실행한 후 템플릿 실행 상태가 중간 단계 취소 요청됨으로 변경됩니다.

    이 메서드를 실행해도 준비 또는 초안 상태의 템플릿 실행은 자동으로 취소되지 않습니다. 실행 중인 작업이 완료될 때까지 템플릿 실행 상태가 취소됨으로 변경되지 않습니다. 이때 정정을 위해 준비된 나머지 작업은 취소 요청에서 취소됨으로 변경됩니다.

    표 13. 매개변수
    이름 유형 설명
    템플릿RunId 문자열 중복 제거 템플릿 실행 [reconcile_duplicate_template_run] 테이블에 나열된 템플릿 실행의 Sys_id입니다.
    표 14. 반환
    유형 설명
    문자열

    취소 요청이 성공했는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 취소 요청이 성공했습니다.
    • false: 취소 요청에 성공하지 못했습니다.

    다음 예제에서는 템플릿 실행을 취소하고 작업의 성공 여부를 표시하는 방법을 보여 줍니다.

    var isCancelled = sn_cmdb.DuplicateTemplate.requestCancellation("487c67e2046b2510f877c1665753a4cc");
    gs.info(isCancelled);

    출력:

    true

    DuplicateTemplate - retireTemplate(문자열 templateId)

    템플릿을 폐기합니다.

    더 이상 필요하지 않은 경우 이 방법을 사용하여 템플릿을 폐기 상태로 이동합니다.

    템플릿을 사용 중지할 수 없으며 메서드는 다음 조건에서 예외를 throw합니다.
    • 템플릿이 게시됨 상태입니다.
    • 템플릿이 실행 중이거나 실행되도록 예약되어 있습니다.
    표 15. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    표 16. 반환
    유형 설명
    부울 템플릿이 폐기되었는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 템플릿이 폐기됩니다.
    • false: 템플릿이 실행 중이거나, 실행 예정이거나, 게시됨 상태이므로 폐기할 수 없습니다.

    다음 예제에서는 템플릿을 폐기하고 결과를 표시하는 방법을 보여 줍니다.

    var isRetired = sn_cmdb.DuplicateTemplate.retireTemplate(<template_id>);
    gs.info(isRetired);

    출력:

    true

    DuplicateTemplate - runTemplate(문자열 templateId)

    게시됨 상태의 중복 제거 템플릿에 대한 정정 실행을 예약합니다. 템플릿은 여러 번 실행할 수 있지만 한 번에 하나의 실행만 예약할 수 있습니다.

    템플릿이 게시된 상태가 아니면 템플릿을 실행할 수 없으며 메서드에서 예외를 throw합니다. publishTemplate() 메서드를 사용하여 템플릿을 초안 상태에서 게시 상태로 이동합니다.

    실행 중인 작업을 취소하려면 requestCancellation() 메서드를 사용합니다.

    표 17. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    표 18. 반환
    유형 설명
    문자열 실행된 템플릿의 Sys_id 중복 제거 템플릿 실행 [reconcile_duplicate_template_run] 테이블에 나열됩니다. 실패하면 템플릿이 게시됨 상태가 아닐 수 있습니다.

    다음 예제에서는 게시된 중복 제거 템플릿에 대한 실행을 예약하는 방법을 보여줍니다.

    var template = sn_cmdb.DuplicateTemplate.runTemplate('<template_id>');
    gs.info(JSON.stringify(template));

    출력:

    487c67e2046b2510f877c1665753a4cc

    DuplicateTemplate - unPublishTemplate(문자열 templateId)

    템플릿의 게시를 취소합니다.

    이 메서드는 템플릿을 게시됨 상태에서 초안 상태로 전환하여 템플릿을 업데이트할 수 있도록 합니다. 템플릿이 실행 중이거나 실행되도록 예약된 경우 게시를 취소할 수 없습니다.

    표 19. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    표 20. 반환
    유형 설명
    부울

    템플릿의 게시가 성공적으로 취소되었는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 템플릿이 성공적으로 게시 취소되었습니다.
    • false: 템플릿이 성공적으로 게시 취소되지 않았습니다. 템플릿이 실행 중이거나 실행되도록 예약되었을 수 있습니다.

    다음 예제에서는 템플릿의 게시를 취소하고 결과를 표시하는 방법을 보여 줍니다.

    var isUnPublished = sn_cmdb.DuplicateTemplate.unPublishTemplate(<template_id>);
    gs.info(isUnPublished);

    출력:

    true

    DuplicateTemplate - updateTemplate(String templateId, Object template)

    초안 상태의 중복 제거 템플릿을 업데이트합니다.

    표 21. 매개변수
    이름 유형 설명
    templateId 문자열 중복 템플릿 조정 [reconcile_duplicate_template] 테이블에 나열된 템플릿의 Sys_id입니다.
    템플릿 객체 템플릿을 생성하기 위한 다양한 옵션이 있는 템플릿 객체입니다.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    template.allow_null_attribute_update 부울 옵션입니다. 중복 제거 작업 내에서 CI에 대한 속성 상충을 해결할 때 메인 CI 속성이 중복 CI의 null 값으로 업데이트되는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 메인 CI 속성이 중복 CI의 null 값으로 업데이트됩니다.
    • false: 메인 CI 속성이 중복 CI의 null 값으로 업데이트되지 않습니다.

    기본값: False

    template.allow_master_ci_null_update 부울 옵션입니다. 메인 CI 값이 null인 경우 중복 CI의 업데이트만 포함합니다.

    메인 CI 값이 null인 경우 중복 CI의 업데이트만 포함할지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 메인 CI 값이 null인 경우에만 중복 CI의 업데이트를 포함합니다.
    • 아니오: 모든 중복 CI의 업데이트를 포함합니다.

    기본값: False

    template.description 문자열 옵션입니다. 템플릿에 대한 추가 정보를 저장하는 설명입니다.
    template.duplicate_ci_action 문자열 옵션입니다. 중복 CI를 삭제할지 아니면 고유한 사용자 지정 값으로 업데이트할지 여부를 지정합니다.
    가능한 옵션:
    • 삭제
    • 업데이트(지정해야 duplicate_ci_updates함)
    template.duplicate_ci_updates 배열 설정이 duplicate_ci_actionupdate가 아닌 경우 선택 사항입니다. 중복 CI 값이 업데이트되는 방법을 지정하는 객체의 배열입니다.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    template.duplicate_ci_updates.요소 문자열 참조 필드의 시스템 딕셔너리 이름입니다.
    template.duplicate_ci_updates.element_label 문자열 참조 필드가 표시하는 레이블입니다.
    template.duplicate_ci_updates.값 문자열 참조 필드의 값, 즉 참조 필드의 내용입니다.
    template.duplicate_ci_updates.display 문자열 참조 필드의 표시 값입니다.
    template.master_ci_option 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업을 위해 메인 CI를 선택하는 방법을 지정합니다.
    가능한 옵션:
    • 조건부(지정해야 master_ci_condition함)
    • most_related_items - 가장 관련성이 높은 항목이 있는 CI에서 메인 CI로 병합할 속성입니다.
    • most_relations – 메인 CI와 가장 많은 관계가 있는 CI에서 병합할 속성입니다.
    • newest_created – 가장 최근에 업데이트된 CI에서 메인 CI로 병합할 별도의 속성입니다.
    • oldest_created – 가장 오래 전에 생성된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.master_ci_조건 문자열 선택 사항입니다(값이 master_ci_option조건부인 경우 필수). 메인 CI를 선택하는 방법을 지정하는 인코딩된 쿼리입니다. 쿼리와 일치하는 CI가 여러 개 있거나 없는 경우 메서드는 가장 최근에 업데이트된 CI를 메인 CI로 선택합니다. 인코딩된 쿼리는 템플릿 테이블에 대해 평가됩니다. 이 테이블은 속성에서 식별됩니다 table .

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    template.merge_relations 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대한 관계가 병합되는 방법을 지정합니다.
    가능한 옵션:
    • 모두
    • 조건부
    • 없음
    template.merge_relations 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대한 관계가 병합되는 방법을 지정합니다.
    가능한 옵션:
    • 모두
    • 조건부
    • 없음
    template.merge_relations_condition 문자열 선택 사항입니다(값이 merge_relations조건부인 경우 필수). 중복 CI의 관계를 병합할지 아니면 병합하지 않을지를 지정하는 인코딩된 쿼리입니다. 쿼리는 중복 제거 작업을 위해 선택된 메인 CI에서 평가됩니다. 쿼리가 true를 반환하면 모든 관계가 병합됩니다. false인 경우 관계가 병합되지 않습니다.

    인코딩된 쿼리는 템플릿 테이블에 대해 평가됩니다. 이 테이블은 속성에서 식별됩니다 table .

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    template.merge_related_items 문자열 옵션입니다. 이 템플릿을 적용할 때 중복 제거 작업 내의 중복 CI에 대해 어떤 관련 테이블이 메인 CI에 병합되는지 지정합니다. 참조 Remediate a de-duplication task (manual).
    가능한 옵션:
    • all_available – 기본 관련 테이블과 템플릿을 통해 정정된 중복 제거 작업에 대한 중복 CI를 참조하는 모든 관련 테이블을 포함합니다.
    • 조건부
    • 기본값 – 중복 CI 정정 도구 기본 관련 항목 모듈에서 제공하는 관련 항목을 포함합니다.
    • 없음
    template.merge_related_items_condition 배열 옵션입니다. 각 관련 항목에 대해 인코딩된 쿼리가 있는 관련 항목 목록입니다. 각 쿼리는 작업에 대해 선택된 기본 CI에서 평가됩니다. 쿼리가 true를 반환하면 중복 제거 작업을 정정하는 동안 관련 항목이 병합됩니다. false인 경우 관련 항목이 병합되지 않습니다.
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    template.most_relations_merge_attributes 문자열 옵션입니다. 메인 CI와 가장 많은 관계가 있는 CI에서 병합할 속성이며 쉼표로 구분됩니다.
    template.most_related_items_merge_attributes 문자열 옵션입니다. 가장 관련성이 높은 항목이 있는 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.name 문자열 템플릿의 이름입니다.
    template.newest_updated_merge_attributes 문자열 옵션입니다. 가장 최근에 업데이트된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.oldest_created_merge_attributes 문자열 옵션입니다. 가장 오래 전에 생성된 CI에서 메인 CI로 병합할 쉼표로 구분된 속성입니다.
    template.table 문자열 템플릿이 만들어지는 테이블입니다.
    template.task_conditions 문자열 옵션입니다. 템플릿이 실행될 때 평가할 인코딩된 쿼리입니다. 이 쿼리는 중복 작업 데이터 조정 [reconcile_duplicate_task_data] 테이블에서 평가됩니다. 이 쿼리에서 반환된 모든 작업은 템플릿 평가 중에 고려됩니다.
    주:
    작업이 쿼리의 일부로 반환되더라도 템플릿 실행이 작업을 처리한다고 보장하지는 않습니다. 다른 요인으로 인해 템플릿 처리 중에 작업을 건너뛸 수 있습니다.

    자세한 내용은 인코딩된 쿼리 문자열을 참조하십시오 .

    표 22. 반환
    유형 설명
    부울

    템플릿이 업데이트되었는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 템플릿이 업데이트되었습니다.
    • false: 템플릿이 업데이트되었습니다. 템플릿이 초안(게시되지 않음) 상태가 아닐 수 있습니다.

    다음 예제에서는 기존 중복 제거 템플릿의 여러 속성을 업데이트하는 방법을 보여 줍니다.

    var template = {
      "name": "Test Windows Template",
      "table": "cmdb_ci_win_server",
      "description": "This is a windows server template",
      "master_ci_option": "newest_updated",
      "master_ci_condition": "",
      "allow_null_attribute_update": false,
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "",
      "newest_updated_merge_attributes": "ram,cpu_count",
      "most_relations_merge_attributes": "",
      "most_related_items_merge_attributes": "",
      "merge_relations": "all",
      "merge_relations_condition": "",
      "merge_related_items": "conditional",
      "merge_related_items_condition": [
        {
          "related_entry": "change_request.cmdb_ci",
          "condition": "ramCONTAINS1024"
        },
        {
          "related_entry": "incident.cmdb_ci",
          "condition": "os_versionCONTAINSWindows"
        }
      ],
      "duplicate_ci_action": "delete",
      "duplicate_ci_updates": "",
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
    };
    
    sn_cmdb.DuplicateTemplate.updateTemplate(<template_id>, template);

    출력:

    true