계층 1 방문 페이지에서 도넛 구성
계층 1 방문 페이지의 개요 섹션에서 도넛에 표시되는 데이터를 구성합니다.
시작하기 전에
필요한 역할: admin
이 태스크 정보
프로시저
- 다음으로 이동 모두 > 서비스 운영 작업 공간 관리자 센터 > 개요.
- 초기 설정 섹션의 개요 탭에서 방문 페이지 구성 옵션을 선택합니다.
- 방문 페이지 양식의 계층 1 섹션에서 도넛 구성 옆에 있는 구성을 선택합니다.
- 옵션:
방문 페이지에서 PAR 대시보드가 활성 상태인 경우 다음을 수행합니다.
- 계층 1 대시보드 구성을 구성합니다.주:대시보드를 만드는 경우 저장된 시각화를 사용하여 대시보드에 대한 카드를 만들 수 있습니다. 데이터 시각화는 해당 역할에 따라 사용자에게만 표시됩니다.
대시보드 가시성에서와 같이 서비스 운영 작업 공간 값을 추가했는지 확인합니다.
- 방문 페이지 드롭다운 옵션에 로드된 대시보드에서 SOW 방문 페이지의 기본 대시보드를 선택합니다. 저장을 선택합니다.
- 대시보드에서 요소를 수정한 후 저장을 선택합니다.
- 계층 1 대시보드 구성을 구성합니다.
- 옵션:
방문 페이지에서 PAR 대시보드가 활성화되어 있지 않으면 스크립트 필드를 편집하여 클래스 ServiceDeskLandingPageUtils내에 코드를 추가합니다.
static async getVisualizationConfig(helpers, mode) { const evamDef = this.getEvamDef(); const visualizationConfig = [{ "id": "incident_assigned", "tableName": "incident", "tableDisplayValue": "Incident", "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", "myTeamQuery": "active=true^assigned_toISNOTEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", "header": mode == 'your_work' ? await helpers.translate("Incidents assigned to you") : await helpers.translate("Incidents assigned to your team"), "groupByField": "state", "evamId": evamDef['incidentEvamDefinitionId'], "updated_on": "^ORDERBYDESCsys_updated_on", }, { "id": "incident_sla", "tableName": "task_sla", "tableDisplayValue": "Task SLA", "myWorkQuery": "task.sys_class_name=incident^task.assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00", "myTeamQuery": "task.sys_class_name=incident^task.assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00", "listView": 'sow_landing_page', "header": await helpers.translate("Incident SLAs"), "groupByField": "time_left", "evamId": evamDef['incidentSlaEvamDefinitionId'], "updated_on": "^ORDERBYtime_left", }, { "id": "unassigned_incidents", "tableName": "incident", "tableDisplayValue": "Incident", "myWorkQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "myTeamQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", "header": await helpers.translate("Unassigned incidents"), "groupByField": "priority", "evamId": evamDef['incidentEvamDefinitionId'], "updated_on": "^ORDERBYDESCsys_updated_on", }, { "id": "catalog_tasks", "tableName": "sc_task", "tableDisplayValue": "Catalog Task", "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "listView": '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": evamDef["catalogTaskEvamDefinitionId"], "updated_on": "^ORDERBYDESCsys_updated_on", } ]; return visualizationConfig; }예를 들어 문제 도넛을 추가하려면 새 도넛이 방문 페이지의 목록과 상호작용할 수 있도록 스크립트에 다음을 추가합니다. SowIncidentLandingPageUtilsSNC에서 복사되지만 problem_task가 추가됩니다.
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_task': { '151': 'New', '154': 'Work in Progress', '152': 'Assess', '157': 'Closed', 'all': 'Problem Tasks' }, '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'; }다음 코드를 추가적인 도넛으로 추가합니다.
{ "id": "problem_task_assigned", "tableName": "problem_task", "tableDisplayValue": "Problem Tasks", "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("Problem Tasks assigned to you") : await helpers.translate("Problem Tasks assigned to your team"), "groupByField": "state", // "evamId": evamDef['incidentEvamDefinitionId'], "updated_on": "^ORDERBYDESCsys_updated_on", }, - 업데이트를 선택합니다.