계층 2 방문 페이지에서 도넛 구성

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 11분
  • 계층 2 방문 페이지의 개요 섹션에서 도넛에 표시되는 데이터를 구성합니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    모든 도넛에 대해 헤더 레이블, 데이터 소스, 메트릭, 필드별 그룹 및 viewAllQuery를 사용자 지정할 수 있습니다. 내게 할당된 카탈로그 작업 도넛을 예로 들 수 있습니다.

    프로시저

    1. 다음으로 이동 모두 > 서비스 운영 작업 공간 관리자 센터 > 개요.
    2. 개요 탭의 초기 설정 섹션에서 방문 페이지 구성 옵션을 선택합니다.
    3. 방문 페이지 양식의 계층 2 섹션에서 도넛 구성 옆에 있는 구성을 선택합니다.
    4. 옵션: 방문 페이지에서 PAR 대시보드가 활성 상태이면 다음을 수행합니다.
      1. 계층 2 대시보드 구성을 구성합니다.
        주:
        대시보드를 생성하는 경우 저장된 시각화를 사용하여 대시보드에 대한 카드를 만들 수 있습니다. 데이터 시각화는 해당 역할에 따라 사용자에게만 표시됩니다.

        대시보드 가시성에서와 같이 서비스 운영 작업 공간 값을 추가했는지 확인합니다.

      2. 방문 페이지 드롭다운 옵션에 로드된 대시보드에서 방문 페이지의 SOW 기본 대시보드를 선택합니다. 저장을 선택합니다.
      3. 대시보드의 요소를 수정한 후 저장을 선택합니다.
    5. 옵션: 방문 페이지에서 PAR 대시보드가 활성화되어 있지 않으면 스크립트 필드를 편집하여 클래스 SOWLandingPageTier2Utils내에 코드를 추가합니다.
      static async getVisualizationConfig(helpers, mode, conditionalRecordCount) {
                  const visualizationConfig = [{
                      "id": "incidentAssigned",
                      "tableName": "incident",
                      "tableDisplayValue": "Incident",
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state!=6",
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^state!=6",
                      "header": mode == 'your_work' ? await helpers.translate("Incidents assigned to you") : await helpers.translate("Incidents assigned to your team"),
                      "groupByField": "state",
                      "evamId": "01a404e8b7203010e69dbc16de11a93f",
                      "updated_on": "^ORDERBYDESCsys_updated_on",
                      "roles":mode == "your_work" ? ["itil","sn_incident_write"] : ["itil","sn_incident_read"],
                  },
                  {
                      "id": "problemsAssigned",
                      "tableName": "problem",
                      "tableDisplayValue": "Problem",
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
                      "header": mode == 'your_work' ? await helpers.translate("Problems assigned to you") : await helpers.translate("Problems assigned to your team"),
                      "groupByField": "state",
                      "evamId": "5f0697b8f49bc510f8773ad5bd0ae292",
                      "updated_on": "^ORDERBYDESCsys_updated_on",
                      "roles":mode == "your_work" ? ["itil","problem_coordinator"] : ["itil","sn_problem_read","problem_task_analyst"],
                  },
                  {
                      "id": "changesAssigned",
                      "tableName": "change_request",
                      "tableDisplayValue": "Change Request",
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
                      "header": mode == 'your_work' ? await helpers.translate("Changes assigned to you") : await helpers.translate("Changes assigned to your team"),
                      "groupByField": "state",
                      "evamId": "e1f06c4194130110f87765e94545da91",
                      "updated_on": "^ORDERBYDESCsys_updated_on",
                      "roles":mode == "your_work" ? ["itil","sn_change_write"] : ["itil","sn_change_read"],
                  },
                  {
                      "id": "taskAssigned",
                      "tableName": "task",
                      "tableDisplayValue": "Task",
                      "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^sys_class_name=incident_task^ORsys_class_name=problem_task^ORsys_class_name=change_task^ORsys_class_name=sc_task",
                      "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^sys_class_name=incident_task^ORsys_class_name=problem_task^ORsys_class_name=change_task^ORsys_class_name=sc_task",
                      "header": mode == 'your_work' ? await helpers.translate("Tasks assigned to you") : await helpers.translate("Tasks assigned to your team"),
                      "groupByField": "sys_class_name",
                      "evamId": "615d205d94df0110f87765e94545da03",
                      "updated_on": "^ORDERBYDESCsys_updated_on",
                      "roles":mode == "your_work" ? ["itil","sn_incident_write","sn_incident_task_assigned_user","problem_task_analyst","sn_change_write","sn_change_task_assigned_user","sn_request_write"] : ["itil","sn_incident_read","sn_incident_task_assigned_user","sn_problem_read","problem_task_analyst","sn_change_read","sn_change_task_assigned_user","sn_request_read","catalog"],
                  }];
      
                  if(mode=='your_work' && conditionalRecordCount>0){
                      const conditionalConfig = await this.getConditionalVisualizationConfig(helpers);
                      visualizationConfig.push(conditionalConfig);
                  }
      
                  return visualizationConfig;
              }
              
      
      아래 스니펫 객체를 추가하여 카탈로그 작업 도넛형을 계층2 방문 페이지에 추가합니다.
        {
                          "id": "catalog_tasks",
                          "tableName": "sc_task",
                          "tableDisplayValue": "Catalog Task",
                          "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
                          "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
                          "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
                          "header": mode == 'your_work' ? await helpers.translate("Catalog tasks assigned to you") : await helpers.translate("Catalog tasks assigned to your team"),
                          "groupByField": "state",
                          "evamId": “4a59c876c7323010d7e818b1c7c26083”,
                          "updated_on": "^ORDERBYDESCsys_updated_on",
                          "roles":mode == "your_work" ? ["itil","sn_request_write"] : ["itil","sn_request_read"],
                      }
      
       

      에서 복사 getLabelMaps 및/또는 fetchTitle 메서드를 SOWLandingPageTier2UtilsSNC 사용하여 도넛을 클릭할 때 표시되는 목록의 레이블을 추가합니다.

      static async fetchTitle(table, nameValueMap, groupMode = false, elementId) {
                  if(table === "task") {
                      return this.getLabelMaps(table, nameValueMap['sys_class_name'], groupMode, elementId);
                  }
                  return this.getLabelMaps(table, nameValueMap['state'], groupMode, elementId);
              }
      
              static getLabelMaps(table, selectedField, groupMode = false, elementId) {
                  if(selectedField == undefined){
                      selectedField = 'all';
                   }
                  const labelMap = {
                      'incident': {
                          '1': 'New incidents',
                          '2': 'In Progress incidents',
                          '3': 'On Hold incidents',
                          '6': 'Resolved incidents',
                          'all':'Incidents'
                      },
                      'change_request': {
                          '0': 'In Review changes',
                          '-1': 'Implement changes',
                          '-2': 'Scheduled changes',
                          '-3': 'Authorize changes',
                          '-4': 'Assess changes',
                          '-5': 'New changes',
                          'all':'Changes'
                      },
                      'problem': {
                          '101': 'New problems',
                          '102': 'Assess problems',
                          '106': 'Resolved problems',
                          '104': 'Fix in Progress problems',
                          '103': 'Root Cause Analysis problems',
                          'all':'Problems'
                      },
                      'task': {
                          'incident_task': 'Incident tasks',
                          'problem_task': 'Problem tasks',
                          'change_task': 'Change tasks',
                          'sc_task': 'Catalog tasks',
                          'incident': 'Incidents',
                          'problem': 'Problems',
                          'change_request': 'Change requests',
                          'all':'Tasks'
                      }
                  };
                  if(elementId === 'delegated_task')
                      return labelMap[table][selectedField] + ' delegated to you';
                  if (groupMode)
                      return labelMap[table][selectedField] + ' assigned to your team';
                  return labelMap[table][selectedField] + ' assigned to you';
              }
      

      카탈로그 작업 레이블을 아래 코드 스니펫에 추가하여 도넛에서 볼 수 있습니다.

                      'sc_task': {
                              'all':'Catalog tasks',
                              '-5': 'Pending catalog tasks',
                              '1': 'Open catalog tasks',
                              '2': 'Work in progress catalog tasks'
                      },
      
    6. 업데이트를 선택합니다.