Skip to main content

Custom Field Property Configuration

Custom fields are mapped in the domain model using the customFieldName property, which specifies the Polarion custom field ID.
NameTypeDefaultDescription
namestringRequiredProperty name used in Powersheet columns and queries; must be unique within entity type
customFieldNamestringnullPolarion custom field ID (e.g., c_storyPoints). Required when the property maps to a custom field rather than a built-in work item field
serverNamestringSame as nameOverride for the actual Polarion field name when it differs from the client-facing property name
typestringAuto-detectedData type; auto-inferred from Polarion custom field metadata
storagestringSee applicationHow the property value is persisted in Polarion
enumValuesarraynullList of valid enum option IDs when the custom field is an enumeration
readablebooleantrueControls whether the property can be read by clients
updatablebooleantrueControls whether the property can be modified by clients
scalarbooleantruetrue for single value, false for collection
diagram

Custom Field vs Built-In Field

AspectCustom FieldBuilt-In Field
ConfigurationRequires customFieldName in domain modelMatched by name or serverName automatically
Type detectionInferred from Polarion custom field metadataInferred from Polarion built-in field metadata
ID prefixTypically c_ prefix (e.g., c_storyPoints)No prefix (e.g., title, severity)
Save behaviorValue and originalValue tracked for change detectionSame 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 TypeMapped TypeNotes
IntegerInt32Whole numbers
FloatDoubleFloating-point decimals
CurrencyDoubleMonetary values
DateDateTimeFull date-time
DateOnlyDateTimeDate without time
TimeOnlyDateTimeTime without date
DurationTimeStringDuration representation
BooleanBooleanTrue/false
TextStringMulti-line text
StringStringSingle-line text
EnumEnum typeOptions 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

{
  "c_intField": 42,
  "c_intField_originalValue": 0
}

Float Custom Field

{
  "c_floatField": 3.14,
  "c_floatField_originalValue": 0.0
}

Currency Custom Field

{
  "c_currencyField": 99.99,
  "c_currencyField_originalValue": 0.0
}
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:
domainModelTypes:
  UserNeed:
    polarionType: userNeed
    properties:
      title: ~
      description: ~
      storyPoints:
        customFieldName: c_storyPoints
      targetDate:
        customFieldName: c_targetDate
      isApproved:
        customFieldName: c_isApproved
      verificationMethod:
        customFieldName: c_verificationMethod
        enumValues:
          - analysis
          - inspection
          - test
Use a descriptive name (e.g., storyPoints) for the domain model property and set customFieldName to the Polarion field ID (e.g., c_storyPoints). This keeps column binding paths readable while mapping to the correct Polarion storage.

Security and Permissions

Custom field properties inherit the entity-level security model:
SettingEffect
readable: falseProperty hidden from clients; not included in query results
updatable: falseProperty displayed as read-only in the sheet
Entity-level permissionsIntersected with property-level readable/updatable
For details on security configuration, see Permissions.

Complete YAML Example

domainModelTypes:
  SystemRequirement:
    polarionType: systemRequirement
    properties:
      title: ~
      severity:
        customFieldName: severity
      priority:
        customFieldName: priority
      estimatedEffort:
        customFieldName: c_estimatedEffort
      targetRelease:
        customFieldName: c_targetRelease
        enumValues:
          - v1.0
          - v2.0
          - v3.0
      reviewDate:
        customFieldName: c_reviewDate
      isVerified:
        customFieldName: c_isVerified
        updatable: false
  DesignRequirement:
    polarionType: designRequirement
    properties:
      title: ~
      component:
        customFieldName: c_component

relationships:
  - from: SystemRequirement
    to: DesignRequirement
    cardinality: one-to-many
    storage: linkedWorkItems
    linkRole: refines
    direct:
      name: designRequirements
    back:
      name: systemRequirement
Source Code
  • MetadataTest.java
  • prod-powersheet-src/com.nextedy.powersheet.client/ltc-repo/packages/common/types/api/document.ts
  • Property.java
  • todos_model.yaml
  • model.yaml