Custom Field Property Configuration
Custom fields are mapped in the domain model using thecustomFieldName property, which specifies the Polarion custom field ID.
| Name | Type | Default | Description |
|---|---|---|---|
name | string | Required | Property name used in Powersheet columns and queries; must be unique within entity type |
customFieldName | string | null | Polarion custom field ID (e.g., c_storyPoints). Required when the property maps to a custom field rather than a built-in work item field |
serverName | string | Same as name | Override for the actual Polarion field name when it differs from the client-facing property name |
type | string | Auto-detected | Data type; auto-inferred from Polarion custom field metadata |
storage | string | See application | How the property value is persisted in Polarion |
enumValues | array | null | List of valid enum option IDs when the custom field is an enumeration |
readable | boolean | true | Controls whether the property can be read by clients |
updatable | boolean | true | Controls whether the property can be modified by clients |
scalar | boolean | true | true for single value, false for collection |
Custom Field vs Built-In Field
| Aspect | Custom Field | Built-In Field |
|---|---|---|
| Configuration | Requires customFieldName in domain model | Matched by name or serverName automatically |
| Type detection | Inferred from Polarion custom field metadata | Inferred from Polarion built-in field metadata |
| ID prefix | Typically c_ prefix (e.g., c_storyPoints) | No prefix (e.g., title, severity) |
| Save behavior | Value and originalValue tracked for change detection | Same tracking mechanism |
Built-in Polarion fields (like
title, id, severity) are automatically available on entity types even when not explicitly listed in the domain model properties.Automatic Type Mapping for Custom Fields
Powersheet automatically maps Polarion custom field types to internal data types:| Polarion Custom Field Type | Mapped Type | Notes |
|---|---|---|
| Integer | Int32 | Whole numbers |
| Float | Double | Floating-point decimals |
| Currency | Double | Monetary values |
| Date | DateTime | Full date-time |
| DateOnly | DateTime | Date without time |
| TimeOnly | DateTime | Time without date |
| DurationTime | String | Duration representation |
| Boolean | Boolean | True/false |
| Text | String | Multi-line text |
| String | String | Single-line text |
| Enum | Enum type | Options loaded from Polarion |
Save Operations with Custom Fields
Save operations preserve original values alongside new values for change detection. Custom fields of different types demonstrate the save format:Integer Custom Field
Float Custom Field
Currency Custom Field
The exact save bundle format may vary depending on the Polarion server version and custom field configuration. The examples above represent the standard pattern observed in the server API.
Domain Model Configuration Pattern
When adding a custom field to a domain model entity type, use the following pattern:Security and Permissions
Custom field properties inherit the entity-level security model:| Setting | Effect |
|---|---|
readable: false | Property hidden from clients; not included in query results |
updatable: false | Property displayed as read-only in the sheet |
| Entity-level permissions | Intersected with property-level readable/updatable |
Complete YAML Example
Related Pages
- Primitive Types — Supported primitive data types
- Enum Types — Enum custom field handling
- Type Conversion — Type mapping rules
- Properties — Full property configuration reference
- Storage — How property values are persisted
Sources
Sources
Source Code
MetadataTest.javaprod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/api/document.tsProperty.javatodos_model.yamlmodel.yaml