階層 2 ランディングページでのドーナツの構成
階層 2 ランディングページの [概要] セクションでドーナツに表示されるデータを構成します。
始める前に
必要なロール:admin
このタスクについて
手順
- 次のように移動する。 All (すべて) > サービスオペレーションワークスペースアドミンセンター > 概要.
- [概要] タブの [初期設定] セクションから、[ランディングページを構成 (Configure the landing page)] オプションを選択します。
- ランディングページフォームの [階層 2] セクションで、[ドーナツ構成] の横にある [構成] を選択します。
- オプション:
PAR ダッシュボードがランディングページでアクティブな場合は、次の手順を実行します。
- 階層 2 ダッシュボード構成を構成します。注:ダッシュボードを作成する場合は、保存されたビジュアル化を使用してダッシュボードのカードを作成できます。データの可視化は、それぞれのロールに基づいてユーザーにのみ表示されます。
ダッシュボードのヴィジビリティにサービスオペレーションワークスペースとして値を追加していることを確認してください。
- [ランディングページにロードされたダッシュボード] ドロップダウンオプションから、SOWランディングページのデフォルトダッシュボードを選択します。[Save (保存)] を選択します。
- ダッシュボードの要素を変更したら、[ 保存] を選択します。
- 階層 2 ダッシュボード構成を構成します。
- オプション:
[スクリプト] フィールドを編集し、クラス SOWLandingPageTier2Utils 内にコードを追加します。
static async getVisualizationConfig(helpers, mode) { const visualizationConfig = [{ "id": "incidentAssigned", "tableName": "incident", "tableDisplayValue": "Incident", "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", "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", }, { "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", }, { "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", }, { "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", }]; return visualizationConfig; }たとえば、問題ドーナツを追加するには、スクリプトに以下を追加して、新しいドーナツがランディングページのリストとやり取りできるようにします。これは SOWLandingPageTier2UtilsSNC からコピーされますが、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", }, - [更新] を選択します。