Skip to main content

Top-Level Structure

domainModelTypes can be defined as either a map (recommended) or an array:
domainModelTypes:
  UserNeed:
    polarionType: userNeed
    properties:
      description: null
      severity: null
  SystemRequirement:
    polarionType: systemRequirement
    properties:
      description: null
      component: null
The map key becomes the entity type name.

Array Format

domainModelTypes:
  - name: UserNeed
    polarionType: userNeed
    properties:
      - name: description
      - name: severity
  - name: SystemRequirement
    polarionType: systemRequirement
    properties:
      - name: description
      - name: component
In array format, each entry requires an explicit name property.

Entity Type Properties

PropertyTypeDefaultDescription
namestringMap key (map format) or required (array format)Unique identifier for the entity type. Must be a single word in PascalCase without spaces or special characters. Referenced by relationships[].from and relationships[].to.
polarionTypestring or string[]Entity type name with lowercase first letterMaps this entity to one or more Polarion work item type IDs. Accepts a single string or an array of strings for multi-type entities.
propertiesobject or array{}Defines which Polarion fields are exposed for this entity type. See Properties.
constraintsobjectNoneOptional data scoping rules. See Constraints.
Entity type names must be single words without spaces or special characters. Relationship from and to fields reference these names — not Polarion work item type IDs. Using an invalid name causes configuration errors.

polarionType

Maps the domain model entity to one or more Polarion work item types. Single type:
SystemRequirement:
  polarionType: systemRequirement
Multiple types:
Requirement:
  polarionType:
    - sys_req
    - des_req
When omitted, the entity type name is used with a lowercase first letter as the default Polarion type.

properties

Defines which Polarion work item fields are accessible through this entity type. Properties can be declared as a map with null values (using defaults) or as an array with explicit name fields. Map format:
UserNeed:
  properties:
    description: null
    severity: null
    component: null
    type: null
Array format:
UserNeed:
  properties:
    - name: description
    - name: severity
    - name: component
Each property name must correspond to a Polarion work item built-in field or custom field.

Built-in Properties

All entity types automatically include these properties without explicit declaration:
PropertyTypeDescription
objectIdstringUnique entity identifier (primary key)
idstringPolarion work item ID
titlestringWork item title
projectIdstringPolarion project identifier (foreign key)

Permission Flags on Properties

Individual properties support permission control:
FlagTypeDefaultDescription
readablebooleantrueWhether the property is visible to users
updatablebooleantrueWhether the property can be modified
UserNeed:
  properties:
    title:
      readable: true
      updatable: true
    outlineNumber:
      readable: true
      updatable: false

constraints

Defines data scoping rules at three lifecycle points. See Constraints for full reference.
SystemRequirement:
  polarionType: systemRequirement
  constraints:
    load:
      document:
        type: systemSpecification
    create:
      document:
        moduleFolder: Requirements
        moduleName: System Specification
    pick:
      document:
        type: systemSpecification
ConstraintPurpose
loadFilters which entities are fetched during initial query
createSets default document location for newly created entities
pickRestricts which entities appear in picker dialogs

Built-in Entity Types

Powersheet automatically provides these entity types without explicit declaration:
Entity TypeDescription
DocumentRepresents Polarion documents (LiveDoc modules). Exposes module properties like moduleName, title, and allowedWITypes.
ChapterRepresents Polarion headings (document structure elements).
ProjectRepresents the Polarion project. Linked to all work item entities via projectObjectId.
The Document entity type is not a work item. It provides navigation access to the containing document’s properties for filtering and constraints.

Complete YAML Example

domainModelTypes:
  Document:
    properties:
      moduleName: null
      title: null
      allowedWITypes: null

  UserNeed:
    polarionType: userNeed
    properties:
      description: null
      severity: null
      component: null
    constraints:
      pick:
        document:
          moduleFolder: Requirements
          type: needsDocument

  SystemRequirement:
    polarionType: systemRequirement
    properties:
      description: null
      severity: null
      component: null
      type: null
    constraints:
      load:
        document:
          type: systemSpecification
      create:
        document:
          moduleFolder: Requirements
          type: systemSpecification

  DesignRequirement:
    polarionType: designOutput
    properties:
      description: null
      severity: null
    constraints:
      create:
        document:
          moduleFolder: Design
          type: designSpecification

  Hazard:
    polarionType: hazard
    properties:
      description: null
      severity: null

  RiskControl:
    polarionType: riskControl
    properties:
      description: null

relationships:
  - from: UserNeed
    to: SystemRequirement
    cardinality: one-to-many
    storage: linkedWorkItems
    linkRole: refines
    direct:
      name: systemRequirements
    back:
      name: userNeed

  - from: SystemRequirement
    to: DesignRequirement
    cardinality: one-to-many
    storage: linkedWorkItems
    linkRole: refines
    direct:
      name: designRequirements
    back:
      name: systemRequirement

  - from: Hazard
    to: RiskControl
    cardinality: many-to-many
    storage: linkedWorkItems
    linkRole: mitigates
    direct:
      name: riskControls
    back:
      name: hazards

KB ArticlesSupport TicketsSource Code
  • DomainModelV2.java
  • todos_model.yaml
  • todosBig_model.yaml
  • prod-powersheet-src/com.nextedy.powersheet.client/cypress/fixtures/models/constraints_pick_only.yaml
  • sf_model.yaml