Polarion-to-Risksheet Field Type Matrix
| Polarion Field Type | Risksheet Column Type | Editor | Display | Notes |
|---|---|---|---|---|
String | text | Text input | Plain text | Default mapping for string fields |
Text (Rich Text) | text | Text input | Plain text (stripped) | Rich text formatting removed; links processed |
Integer | int | Numeric input | Whole number | Also usable as rating for risk scales |
Float | float | Numeric input | Decimal number | Double precision |
Boolean | boolean | Checkbox | Checked/unchecked | Accepts string "true" / "false" |
Date | date | Date picker | yyyy-MM-dd | Date-only value |
Date | datetime | DateTime picker | Full timestamp | Date with time component |
Date | time | Time picker | hh:mm:ss | Time-only value |
Enum (single) | enum:id | Dropdown | Enum option ID | Status field shows name instead of ID |
List<IEnumOption> | multiEnum:id | Multi-select | Multiple enum IDs | Blank options auto-filtered |
Currency | currency | Numeric input | Decimal value | BigDecimal precision preserved |
DurationTime | duration | Text input | Duration string | Parsed via Polarion DurationTime format |
User (assignee) | ref | User picker | User ID | Single-user assignment only |
Text and String Fields
Risksheet handles both plainString fields and rich Text fields from Polarion. Both map to the text column type.
| Behavior | String Field | Text (Rich Text) Field |
|---|---|---|
| Display | As-is | Stripped to plain text |
| Link processing | None | Links auto-processed for rendering |
| Editing | Direct text input | Direct text input (plain text only) |
| Multi-line | Enabled (multiLine: true) | Enabled (multiLine: true) |
| Word wrap | Enabled (wordWrap: true) | Enabled (wordWrap: true) |
When editing a rich text field through Risksheet, formatting is not preserved. The field is saved as plain text. To preserve rich text formatting, edit the field through the standard Polarion work item form.
Numeric Fields
Risksheet supports four numeric column types with different precision and semantics:| Column Type | Polarion Storage | Precision | OData Type | Typical Use |
|---|---|---|---|---|
int | Integer | 64-bit signed | Edm.Int64 | Priority, count, sequence |
rating | Integer | 32-bit signed | Edm.Int32 | Risk scales (S/O/D) |
float | Float | Double precision | Edm.Double | Risk scores, percentages |
currency | Currency | BigDecimal | Edm.Decimal | Cost, financial values |
int and rating types are interchangeable at the storage level. rating is semantically intended for risk assessment parameters and maps to a 32-bit integer in OData, while int maps to 64-bit.
Type Conversion Between Numeric Types
Risksheet can convert between numeric types and string representations:| Source Value | Target Type | Result |
|---|---|---|
String "42" | int | Integer 42 |
String "3.14" | float | Float 3.14 |
Integer 5 | rating | Rating value 5 |
Float 99.95 | currency | BigDecimal 99.95 |
Integer 3 | enum | Enum option with ID "3" |
Boolean Fields
Boolean columns render as checkboxes in the grid. The conversion system handles both native Boolean objects and string representations.| Input Value | Stored As | Display |
|---|---|---|
true | Boolean true | Checked checkbox |
false | Boolean false | Unchecked checkbox |
"true" (string) | Boolean true | Checked checkbox |
"false" (string) | Boolean false | Unchecked checkbox |
null | No value | Unchecked checkbox |
Date and Time Fields
Risksheet supports three temporal column types, all backed by Polarion’s Date field type. The columntype setting determines which component is displayed.
| Column Type | Displays | Format | Backing Polarion Type |
|---|---|---|---|
date | Date only | yyyy-MM-dd | Date, Calendar, ISO string |
datetime | Date and time | Full timestamp | Date, Calendar, ISO string |
time | Time only | hh:mm:ss | Date, Calendar, ISO string |
- Polarion
Dateobjects - Java
DateandCalendarobjects - ISO 8601 format strings (
yyyy-MM-ddfor dates,hh:mm:ssfor times)
Enumeration Fields
Risksheet supports both single-select and multi-select enumerations.Single Enum
| Behavior | Details |
|---|---|
| Display | Enum option ID (exception: status field shows name) |
| Editor | Dropdown selector |
| Backing fields | Native Polarion enum, String, Integer |
| Configuration | enum:enumerationId references enums section in risksheet.json |
Multi-Select Enum
| Behavior | Details |
|---|---|
| Display | Multiple selected values |
| Editor | Multi-select checkbox dropdown |
| Backing fields | Polarion List<IEnumOption>, comma-separated String |
| Blank handling | Blank options automatically filtered out |
| Configuration | multiEnum:enumerationId references enums section |
WorkItem enum fields (enumerations of work item types) require specific type syntax matching the XML custom field definition. For example:
"type": "multiEnum:@NoIDWorkItems[workpackage]". These have limited support compared to standard enum fields.Duration Fields
Duration columns handle PolarionDurationTime fields and can also store durations in Integer or Float fields.
| Property | Details |
|---|---|
| Display | Duration string (e.g., "1d 4h", "2h 30m") |
| Parsing | Uses Polarion’s DurationTime.fromString() |
| Backing fields | DurationTime, Integer, Float |
| OData type | Edm.String (string-encoded) |
User Reference Fields
User reference columns handle Polarion user assignment (assignee) fields with special behavior:| Mode | Behavior |
|---|---|
| Read-only | Displays user ID as string |
| Editable | Clears all existing assignees, adds specified user |
| Assignment | Single-user assignment only |
Read-Only System Fields
The following Polarion fields are always read-only in Risksheet. Save attempts are silently ignored:| Field | Description | Read-Only Reason |
|---|---|---|
id | Work item ID | Identity field, immutable |
status | Workflow status | Controlled by workflow transitions |
type | Work item type | Immutable after creation |
project | Project assignment | Immutable |
outlineNumber | Document outline number | Managed by Polarion |
author | Item creator | Set at creation time |
resolution | Resolution value | Managed by workflow |
created | Creation timestamp | Set at creation time |
updated | Last modification | Auto-updated by Polarion |
Type Override
You can override the auto-detected type by explicitly setting thetype property on a column. This allows displaying a Polarion field differently from its native storage type.
| Polarion Field | Native Type | Override | Result |
|---|---|---|---|
| String | text | type: "date" | Parses string as date |
| Integer | int | type: "enum:scale" | Displays as enum dropdown |
| String | text | type: "boolean" | Parses "true" / "false" |
| Float | float | type: "int" | Truncates to integer |
Type override behavior depends on the actual field values being parseable in the target format. A string field overridden to
date will fail to parse non-date values gracefully.Autocomplete and Suggestions
Certain field types support autocomplete suggestions as you type. The suggestion system provides real-time matching from the Polarion database.| Feature | Description |
|---|---|
| Fuzzy search | Matches values with minor typos or spelling variations |
| Wildcard search | Use * for partial matching (e.g., *test*) |
| Keyword filtering | All keywords in the query must match |
Autocomplete behavior is controlled by project-level configuration properties. The suggestion API endpoint supports fuzzy search, wildcard search, and keyword-based filtering. See Suggestion and Autocomplete API for details.
Complete Example
Arisksheet.json demonstrating all major supported field types:
Related Pages
- Field Mapping — binding system and field resolution
- System Fields — system-level bindings and constants
- Data Types — column data type behavior and OData mapping
- Column Type Reference — column definition properties
- Enum Columns — enum field configuration
- Date and Time Columns — temporal field handling
- User Reference Columns — user field configuration
- Culture and Localization Codes — locale settings affecting display
Sources
Sources
KB ArticlesSource Code
risksheet.jsonColumnTypeManager.javaPolarionAppConfigManager.javaGetSetUtil.javaAppConfigParser.ts