Work Items as Grid Rows
Each row in the Risksheet grid represents a Polarion work item from the document. The work item type is determined by thedataTypes configuration. A typical FMEA setup defines two primary data types:
| Data Type | Purpose | Example Work Item Type |
|---|---|---|
dataTypes.risk | Main risk items (failure modes, hazards) | Risk, FMEARisk, HARAHazard |
dataTypes.task | Downstream mitigation tasks | Task, MitigationAction |
dataTypes.risk.type property specifies which Polarion work item type appears as the main row items. The dataTypes.task.type property defines the type for linked downstream tasks. Both properties support dynamic evaluation, allowing the type to be resolved at runtime from Polarion expressions.
Despite the name, Risksheet can be configured for non-risk use cases. For example, you can set up a requirements traceability matrix with Requirements as main items and Test Cases as downstream, by configuring the appropriate work item types in the
dataTypes section. The grid itself is type-agnostic — only the configuration determines what appears.Columns Map to Fields
Each column in the grid binds to a Polarion work item field through thebinding property (or equivalently, the id property). When you edit a cell and save, the value is written to the corresponding field on the work item.
| Column Type | Data Binding | Behavior |
|---|---|---|
| Text (default) | String fields | Free-text editing with optional autocomplete |
int, float, currency | Numeric fields | Numeric input with formatting |
enum:<enumId> | Enum fields | Single-select dropdown |
multiEnum:<enumId> | Multi-enum fields | Multi-select picker with chip/tag display |
rating:<ratingId> | Rating fields | Dropdown with risk-specific rating scales |
boolean | Boolean fields | Checkbox display |
date, datetime, time | Date fields | Date picker with locale formatting |
workflow | Status field | Workflow-aware dropdown with valid transitions |
itemLink | Link relationships | Single linked item with autocomplete |
multiItemLink | Link relationships | Multiple linked items |
taskLink | Task relationships | Linked task with autocomplete |
id, status, type, project, and outlineNumber are always set to read-only. Formula columns (formula property) and server-rendered columns (serverRender property) are also read-only by default. Additionally, fields such as author, resolution, created, and updated are automatically protected from modification.
Hierarchical Levels
Risksheet supports multi-level row hierarchies through thelevels array. Levels enable cell merging, which is essential for FMEA structures where a single system function (level 1) can have multiple failure modes (level 2) and each failure mode can have multiple causes and mitigation tasks.
controlColumn property (default: systemItemId) that determines the grouping field for that level. When consecutive rows share the same value in a control column, Risksheet merges those cells vertically. Key merging behaviors include:
- Empty cells act as boundaries. If a control column cell is empty, it stops merge propagation, preventing unrelated groups from merging together.
- Downstream columns merge differently. Task and downstream columns have their own merge logic, tracking both the master item and the specific task ID.
- Multi-item link columns require valid JSON array format to participate in merging. Empty brackets or invalid JSON prevent merging.
- Multi-enum columns are converted to string representations for merge comparison. Cells with identical selections merge properly.
showInMenu set to true (the default) appear in the context menu for creating new items at that level.
The One-Document Constraint
Each Risksheet instance visualizes exactly one Polarion LiveDoc document. The grid shows only the work items contained within (or linked to) that specific document. Risksheet cannot aggregate items from multiple documents or automatically route items based on document names. This constraint ensures clear data boundaries and simplifies configuration: each document carries its ownrisksheet.json configuration file as an attachment, defining the columns, formulas, styles, and data types specific to that risk analysis.
Link Relationships
Risksheet uses Polarion work item links to establish relationships between items: Upstream links connect risk items to their source requirements, design elements, or functions. These are configured through item link columns (itemLink or multiItemLink type). Upstream items can be loaded from other projects and documents via typeProperties configuration, allowing cross-project traceability. However, Risksheet cannot auto-populate rows with existing items from other documents — the sheet starts empty and items must be created or manually linked.
Downstream links connect risk items to mitigation tasks, verification activities, or control measures. These are configured through the dataTypes.task section with role-based link filtering. The dataTypes.task.role property specifies the link role connecting tasks to risk items. The dataTypes.task.showInMenu property (default: true) controls whether task creation options appear in the context menu.
The link role determines which relationship type connects the items. When configuring item link columns, the isBackLink property controls whether the system follows forward links or backlinks from the source item.
Task Grouping and Downstream Items
Tasks belonging to the same parent risk item are grouped together in the grid using thesystemItemId field. When you add a new task to a risk item, Risksheet:
- Creates the task as a new Polarion work item with a temporary ID
- Establishes a link relationship using the configured role
- Groups the task row immediately after the last existing task for that parent
project/itemId format. The system detects project-less IDs and qualifies them with the appropriate project when operating across project boundaries.
Mandatory Fields and Data Entry
Risksheet intentionally does not enforce Polarion mandatory field rules during data entry. This design decision simplifies the risk entry workflow — engineers can create items quickly and fill in details incrementally. Mandatory field validation is intended to be enforced at later workflow status transitions.Data Types Configuration
ThedataTypes section controls work item type settings for risk items and tasks:
| Property | Default | Description |
|---|---|---|
dataTypes.risk.type | (none) | Work item type for risk items, evaluated through dynamic expressions |
dataTypes.risk.role | (none) | Link role for risk relationships, evaluated through dynamic expressions |
dataTypes.risk.removeStrategy | delete | How risk items are removed: delete permanently or alternative method |
dataTypes.risk.rejectedAction | reject | Workflow action to execute when a risk item is rejected during review |
dataTypes.risk.rejectedStatus | rejected | Status value to set when a risk item is rejected |
dataTypes.risk.rejectedResolution | invalid | Resolution value to set when a risk item is rejected |
dataTypes.task.type | (none) | Work item type for downstream tasks |
dataTypes.task.role | (none) | Link role for task relationships |
dataTypes.task.showInMenu | true | Show task creation in the context menu |
Enums and Ratings
Drop-down columns use enumeration values defined in theenums and ratings sections of risksheet.json. Both work similarly — each entry has an id, name, optional description, and optional icon. The key distinction:
enums— General-purpose enumeration definitions used withenum:<enumId>andmultiEnum:<enumId>column typesratings— Risk-specific rating enumerations used withrating:<ratingId>column types. Rating columns show thedescriptionproperty in dropdowns, while standard enum columns do not.
relations array defines dependencies between enumerations for cascading selection behavior. When a parent enum value changes, child enum dropdowns automatically refresh their available options based on the defined relationship mappings.
Transaction Model and Data Integrity
All data operations in Risksheet are wrapped in Polarion transactions. When you save changes, the system:- Begins a transaction
- Processes all create, update, and delete operations
- Maps temporary client-side IDs (prefixed with
*) to permanent Polarion IDs - Commits the transaction on success, or rolls back on failure
Referenced and Branched Items
Risksheet supports referenced work items from branched documents. WhenbranchingSupport is enabled (true), branched documents can display referenced items from the original document as read-only entries. These referenced items appear with special indicators in the grid and can optionally be made editable with editableReferencedWorkItems=true.
Referenced items can also be converted to local copies through the context menu “Overwrite Row Item” action, which changes the reference type from reference to overwrite, allowing local modifications to be saved back.
Referencing risks across multiple non-branched documents is not currently supported. For cross-document risk referencing, use the branching support feature or Polarion’s native cross-project linking capabilities.
OData and API Access
Because Risksheet data is stored as standard Polarion work items, all risk data is accessible through the OData API layer. The data service supports grid item retrieval for a specific document (with optional revision/baseline parameters), linked item retrieval with filtering for autocomplete suggestions, work item creation with automatic temporary-to-permanent ID mapping, work item updates, and deletion with task unlinking. For OData endpoint details, see OData API Endpoints.Further Reading
- Configuration System — Full
risksheet.jsonfile structure and configuration hierarchy - Work Item Visibility and Levels — How levels control item display and cell merging
- Traceability and Linking — Upstream and downstream link configuration
- Risksheet.json Format — Complete configuration file reference
- Basic Configuration — Practical guide to configuring your data model
Sources
Sources
KB Articles
- Multiple Downstream Work Item Types
- What Work Items are visible on the Risksheet and understanding levels
- Configure downstream traceability columns tasks risk control measures
risksheet.jsonAppConfig.tsPolarionAppConfigManager.javaRisksheetDataStorage.javaRisksheetProjectProperties.java