Validation Overview
RISKSHEET’s configuration parser (PolarionAppConfigManager.java) enforces 278 validation rules across three categories:
| Rule Type | Count | Description |
|---|
| Required fields | 184 | Properties that must be present and non-null |
| Enum constraints | 31 | Properties restricted to specific allowed values |
| Range checks | 3 | Numeric properties with minimum/maximum bounds |
Required Field Rules
These properties must be present and non-null. Missing any of these will cause RISKSHEET to fail loading or behave unexpectedly.
Data Types
| Property | Validated In | What Happens If Missing |
|---|
dataTypes | PolarionAppConfigManager | Configuration fails to load |
dataTypes.task | PolarionAppConfigManager | No downstream items displayed |
dataTypes.task.type | RisksheetViewServlet, ResultFilter | Task rows not loaded |
dataTypes.task.role | RisksheetViewServlet, DefaultTraceProvider | Link traversal fails |
dataTypes.task.name | GetSetUtil | Display label missing in UI |
dataTypes.risk | RisksheetPolarionServiceImpl | Risk items not loaded |
Columns
| Property | Validated In | What Happens If Missing |
|---|
columns[].bindings | PolarionAppConfigManager | Column cannot map to work item field |
columns[].readOnly | PolarionAppConfigManager | Defaults applied; edit state unpredictable |
columns[].level | PolarionAppConfigManager | Column assigned to default level |
columns[].format | PolarionAppConfigManager | Type inference from Polarion field type |
columns[].typeProperties | RisksheetPolarionServiceImpl | Link columns fail to resolve |
columns[].typeProperties.linkRole | WorkItemBasedReview | Review column linking fails |
PDF Export
| Property | Validated In | What Happens If Missing |
|---|
pdfExport.pages[].dataGrids[].columns | DocumentTableRenderer | Export renders empty grid |
pdfExport.pages[].dataGrids[].columns[].width | DocumentTableRenderer | Column width defaults to 0 |
pdfExport.pages[].dataGrids[].columns[].header | PolarionAppConfigManager | Header shows as blank |
pdfExport.pages[].ratingGrids[].title | AbstractReview | Rating grid title missing |
pdfExport.cover.properties | RisksheetProjectProperties | Cover page properties empty |
The most frequent configuration error is a missing or misspelled dataTypes.task.role. If your downstream tasks don’t appear, verify that:
- The
role value matches an existing Polarion link role exactly (case-sensitive)
- The link role is defined in your Polarion project configuration
- Work items of the specified
type actually have links using that role
Enum Constraint Rules
These properties only accept specific values. Using an unsupported value causes a validation error.
| Property | Valid Values | Source |
|---|
dataTypes.task.type | Any valid Polarion work item type ID | EditorServlet |
columns[].type | enum, rating, date, taskLink, itemLink, multiItemLink, workflow, text, richText, boolean, float, integer, currency | PolarionAppConfigManager |
If you omit columns[].type, RISKSHEET infers it from the Polarion field definition. Explicit types are only needed when you want to override the default rendering (e.g., using rating:severityScale instead of the default enum for an enum field).
Range Validation Rules
| Property | Constraint | Effect |
|---|
pdfExport.pages[].dataGrids[].controlColumn | Length must be > 0 | Empty control column causes export to skip the grid |
| HTTP response codes | Status code < 400 | Server errors trigger rollback |
Troubleshooting Validation Errors
”Error while reading configuration”
This error from PolarionAppConfigManager indicates malformed JSON:
- Open the configuration editor (Menu > Configure)
- Check for JSON syntax errors (missing commas, unmatched brackets)
- Validate your JSON using an external validator
- If the error persists, compare against a working configuration template
”Cannot parse config”
The JSON is valid but contains unrecognizable structures:
- Check for misspelled property names
- Verify array properties use
[] syntax, not objects
- Ensure
columns is an array, not an object
”Cannot get type from binding”
A column’s bindings value doesn’t match any Polarion field:
- Verify the field ID exists in your Polarion work item type
- Check for typos in the binding name
- For custom fields, use the internal field ID (not the display name)
See Risksheet.json Format for the complete configuration schema and Configuration Properties Index for all available properties.
Related Pages