Overview
The levels property in your risksheet.json configuration defines the hierarchical structure of your risk analysis. Each level represents a grouping dimension in your FMEA/HARA analysis.Essential Level Properties
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display label for the level, shown in toolbar menu buttons (e.g., ”+ Failure Mode”, ”+ Cause”) |
controlColumn | string | Yes | Column ID that controls vertical cell merging for this level. Cells merge when values in this column are identical |
zoomColumn | string | Yes | Column ID where the cursor highlights when a new row is created at this level |
showInMenu | boolean | No | Controls whether the ”+” button for this level appears in the toolbar. Default: true |
Configuration Example
How Levels Control Merging
Level 1 (Failure Mode)
- Columns at Level 1 are merged vertically based on the
controlColumnvalue - When multiple rows share the same “Failure Mode” value, those cells merge into a single visual cell
- This creates the visual grouping that users see in your risk analysis
Level 2 and Beyond (Causes)
- Columns at Level 2+ are also merged based on their level’s
controlColumn - Level 2 typically uses
systemItemIdas the control column, which means cells do not merge (each risk item has a unique ID) - This is the expected behavior for FMEA: causes belong to specific failure modes, not shared across them
Last Level + 1 (Tasks/Mitigations)
- Task columns represent downstream work items linked to the risk items
- Task columns are never merged—each task row is independent
- Task creation and linking is controlled by the
dataTypes.taskconfiguration
Creating Menu Bar Buttons
The toolbar buttons (like ”+ Failure Mode”, ”+ Cause”) are automatically generated from your levels configuration. Each level with"showInMenu": true creates a corresponding button.
To hide a level button, set "showInMenu": false:
Level-to-Column Binding
Every column in your configuration must declare which level it belongs to using thelevel property:
level property are assumed to be task-level columns (downstream items).
Control Column Constraints
Valid configuration:Multi-Level Hierarchy Example
A typical three-level FMEA structure:| Property | Level 1 | Level 2 | Level 3 (Tasks) |
|---|---|---|---|
| Represents | Failure Mode | Cause | Mitigation Task |
| Work Item Type | Risk Item | Risk Item | Task Item |
| Control Column | failureMode | systemItemId | n/a |
| Merged | Yes (by failureMode) | No (unique IDs) | No (independent tasks) |
| Menu Button | ”+ Failure Mode" | "+ Cause” | n/a (auto-created via link) |
Zoom Column Behavior
ThezoomColumn defines where the cursor lands when creating a new row. This is purely for UX convenience:
Data Types and Level Interaction
ThedataTypes configuration works in tandem with levels:
- risk section: Controls Level 1 and Level 2 row creation and work item linking
- task section: Controls Level 3 (Last Level + 1) row creation via linked tasks
Troubleshooting Level Configuration
Issue: Cells Not Merging as Expected
Check yourcontrolColumn values:
- Ensure the column actually exists in your columns array
- Verify column bindings match actual work item field names
- Confirm that test data has consistent values in the control column
Issue: Menu Buttons Missing
VerifyshowInMenu setting:
Issue: Configuration Validation Errors
Common causes:- Duplicate control columns across levels
- Missing
controlColumnorzoomColumnproperties - Control column references non-existent field
- Level number mismatches between levels array and column definitions
Related Configuration
| Related Feature | Reference Page |
|---|---|
| Data Types | See Risksheet.json Format for dataTypes configuration |
| Column Configuration | See Column Type Reference for level property on columns |
| Work Item Visibility | See Work Item Visibility and Levels for strategic overview |
| Configuration System | See Configuration System for hierarchy and precedence |
Best Practices
Do:- Use meaningful names that match FMEA terminology (“Failure Mode”, “Cause”, “Effect”)
- Make control columns unique across all levels
- Align zoom columns with the most important editable field at each level
- Keep level count to 2–3 for clarity and performance
- Reuse the same control column in multiple levels
- Create more than 4–5 levels (performance degrades with deep hierarchies)
- Use systemItemId as a control column unless you want no merging
- Set
zoomColumnto a read-only or calculated column
Sources
Sources
KB Articles
- Risksheet Document Config File - risksheet.json - format reference
- What Work Items are visible on the Risksheet and understanding levels
- Risksheet Configuration Properties
- Adjusting Risksheet configuration
- Configure Multiple Risk Item types
AppConfig.tsRiskSheetContextMenu.tsrisksheet.jsonPolarionAppConfigManager.javaRisksheetProjectProperties.java