Skip to main content
diagram

Base URL

ComponentFormat
Base path{baseUrl}/risksheet/data/{projectId}/{documentId}
With revision{baseUrl}/risksheet/data/{projectId}/{documentId}?revision={rev}
The baseUrl, projectId, and documentId values are derived from the runtime application configuration.

Supported HTTP Methods

MethodOperationDescription
GETReadRetrieves grid items and linked work items for a document
POSTCreateCreates new work items with automatic ID generation
PATCHPartial UpdateUpdates specific fields of existing work items
PUTFull UpdateReplaces all fields of existing work items
DELETEDelete/UnlinkDeletes work items or removes task link relationships

Grid Item Retrieval

Retrieves all work items displayed in the Risksheet grid for a specific document.
ParameterTypeDefaultDescription
revisionstring""Specific revision or baseline identifier. Empty string returns current/head revision.
You can query data from specific revisions or baselines by providing the revision parameter. When a revision is set, the grid automatically switches to read-only mode.
Retrieves linked work items for itemLink, multiItemLink, and taskLink columns based on search queries and filters.
ParameterTypeDefaultDescription
$filterstringNoneOData filter expression. Supports substringof method for substring matching.
typestringNoneWork item type filter to restrict results to a specific type
customQuerystringNoneAdditional query constraints from queryFactory configuration
The $filter parameter supports substringof for searching linked items by ID or title:
$filter=substringof('REQ-',id)
Exact OData filter syntax and supported operators may vary. Test filters against your Polarion instance.

OData Type Mapping

Risksheet column types map to OData EDM primitive types for data exchange:
Column TypeOData EDM TypeNotes
textEdm.StringDefault for unrecognized types
multiEnumEdm.StringColon-separated syntax for multiple values
ratingEdm.Int32Integer-based risk rating values
intEdm.Int6464-bit integer values
floatEdm.DoubleDouble-precision floating point
booleanEdm.BooleanTrue/false values
currencyEdm.DecimalFixed-precision decimal values
dateEdm.DateDate without time component
datetimeEdm.DateTimeOffsetFull date and time with timezone
timeEdm.DateTimeOffsetTime value stored as DateTimeOffset
durationEdm.StringDuration stored as string despite being time-based
Column types can carry additional configuration after a colon separator (e.g., multiEnum:severity,priority). The system extracts only the prefix before the first colon for type mapping.

Work Item Creation

Creates new work items directly from the Risksheet grid.
PropertyTypeDefaultDescription
idstringAuto-generatedItems with IDs starting with * are treated as new items. The system maps temporary client-side IDs to permanent Polarion IDs after creation.
The creation workflow supports creating master risk items and linked downstream items in a single transaction. The system maintains three types of ID mappings during bulk operations:
  • taskIdMap — maps temporary task link IDs to permanent Polarion IDs
  • itemIdMap — maps temporary single item link IDs to permanent IDs
  • itemLinkIdMap — maps temporary multi-item link IDs by column ID

Work Item Update

Updates existing work items via PATCH or PUT operations.
MethodBehaviorDescription
PATCHPartial updateUpdates only the specified fields
PUTFull updateReplaces all field values
Both methods handle preprocessing of linked items to resolve temporary IDs to permanent Polarion IDs before persisting.

Work Item Deletion

ID FormatBehaviorDescription
Standard IDDeletePermanently deletes the work item
ID ending with ;*UnlinkRemoves the task link relationship without deleting the work item
project;riskItemId;taskItemId;*Cross-project unlinkRemoves task link from an item in another project

Cross-Project Support

The OData service handles work items from different Polarion projects using IdProject format (project/itemId). The system automatically qualifies project-less IDs with the appropriate project identifier when operating across project boundaries.

Transaction Management

All create, update, and delete operations are wrapped in transactions with begin/commit/rollback support. Failed operations trigger automatic rollback to prevent partial updates.
The transaction model ensures that bulk operations — such as creating a risk item with multiple linked mitigation tasks — either complete entirely or roll back completely. You do not need to manage transactions manually.
multiItemLink columns accept JSON arrays of linked items in the request body:
[
  { "id": "*temp-1", "label": "New Mitigation Task" },
  { "id": "PROJ-123", "label": "Existing Requirement" }
]
Each item record can contain temporary IDs (prefixed with *) that are resolved to permanent Polarion IDs during the transaction.

Complete Example

{
  "columns": [
    {
      "id": "failureMode",
      "header": "Failure Mode",
      "binding": "title",
      "type": "text"
    },
    {
      "id": "linkedReqs",
      "header": "Requirements",
      "binding": "linkedReqs",
      "type": "multiItemLink",
      "canCreate": true
    }
  ],
  "dataTypes": {
    "risk": {
      "type": "fmea_risk",
      "role": "relates_to"
    }
  }
}
This configuration creates a grid with a text column mapped to Edm.String and a multi-item link column that supports creating new linked items, all accessible via the OData service endpoints.
Source Code
  • RisksheetDataStorage.java
  • MultiItemLinkEditor.ts
  • ColumnTypeManager.java
  • TextEditor.ts
  • AppConfig.ts