Skip to main content

Configure Upstream Cross-Project Columns

To display linked items from another Polarion project in an itemLink or multiItemLink column, add the project parameter to the column’s typeProperties:
columns:
  - header: System Requirement
    bindings: sysReq
    type: itemLink
    typeProperties:
      linkTypes: systemRequirement
      linkRole: refines
      project: RequirementsProject
For items from multiple projects, specify a space-separated list. The $projectId runtime variable resolves to the current project ID:
typeProperties:
  linkTypes: systemRequirement
  linkRole: refines
  project: $projectId RequirementsProject EngineeringProject
diagram

typeProperties Sub-Properties Reference

The typeProperties object on an itemLink or multiItemLink column accepts the following sub-properties. Use the correct names — linkTypes (plural, comma-separated string) and linkRole (not type or role):
Sub-propertyTypeDescription
linkRolestringLink role ID that connects the risk item to the linked item (e.g., refines, verifies). Required.
linkTypesstringComma-separated work item type IDs allowed in this column (e.g., systemRequirement or systemRequirement,softwareRequirement). Required.
linkDirectionstringSet to back to traverse links in the reverse direction (link points from the target item to the risk item).
backLinkbooleanEnable back-link rendering for reverse-direction display.
itemTemplatestringVelocity template for custom item display in the column cell.
queryFactorystringReference to a named function in the top-level queryFactories section that returns a Lucene query for filtering autocomplete suggestions.
In addition to these six core sub-properties, cross-project columns commonly use project (cross-project loading) and createInCurrentDocument (control where new items are saved). The document sub-property restricts the autocomplete to a specific upstream library document.

Configure Downstream Cross-Project Tasks

To display and create downstream tasks in another project, use project or projects in the dataTypes.task section: Single target project:
dataTypes:
  task:
    type: mitigationAction
    role: mitigates
    project: TasksProject
Multiple target projects (requires v23.7.0+):
dataTypes:
  task:
    type: mitigationAction
    role: mitigates
    projects:
      - TasksProject
      - VerificationProject
Use the project parameter for a single target project. Use projects (plural, array, v23.7.0+) when loading tasks from multiple projects. For itemLink and multiItemLink columns loading from multiple projects, the system saves new items to the first listed project by default.

Save New Items in the Current Project

When a column loads items from multiple projects, new items created from that column are saved in the first listed project. To force new items into the current project, add createInCurrentDocument:
typeProperties:
  project: $projectId ProjectA ProjectB
  linkTypes: systemRequirement
  linkRole: refines
  createInCurrentDocument: true
When createInCurrentDocument is not set, the system uses the first project listed in the project parameter for saving new items. Reorder the project list — or place $projectId first — to control the default save target.

Dynamic Configuration via Configuration Properties

For portable configurations that work across different project environments, use Risksheet configuration properties to dynamically resolve project IDs, link roles, and types in the sheet configuration:
typeProperties:
  linkRole: $config.getRisksheetProjectProperties().getProperty('taskLinkRole', 'mitigates')
  linkTypes: $config.getRisksheetProjectProperties().getProperty('taskLinkTypes', 'mitigationAction')
  project: $config.getRisksheetProjectProperties().getProperty('taskProject', 'DefaultProject')
This pattern reads values from the project’s Risksheet configuration properties with fallback defaults, eliminating hardcoded project IDs. It makes the sheet configuration portable when deploying the same Risksheet template across multiple projects.

Cross-Project Work Item Operations

Risksheet supports full CRUD operations on cross-project items. All data lives in Polarion work items — Risksheet does not store anything separately, so cross-project links resolve through Polarion’s standard work item APIs:
OperationBehavior
DisplayItems from configured projects appear in columns with their project-qualified IDs
CreateNew items saved to the first listed project or current project (with createInCurrentDocument)
UpdateEditing cross-project items updates them in their home project
Delete/UnlinkUnlinking removes the relationship; deletion removes the item from its home project
Items from different Polarion server instances cannot be displayed in the same Risksheet. Cross-project linking requires all projects to reside on the same Polarion server.

Limitations

LimitationDetails
Direct links onlyCross-project display works for directly linked items. Indirect links through intermediary work items in other projects require additional configuration.
Same server requiredAll linked projects must be on the same Polarion server instance.
Assignee field contextThe userRole: 'project_assignable' property fetches users from the Risksheet project, not the task’s project. Use a global role as a workaround.

Verify Your Configuration

After setting up cross-project linking:
  1. Open the Risksheet document and confirm that linked items from other projects appear in the configured columns
  2. Create a new linked item and verify it is stored in the expected project
  3. Confirm that autocomplete suggestions show items from all configured projects
  4. Check that unlinking and deletion work correctly for cross-project items
You should now see work items from other Polarion projects displayed in your Risksheet grid with full linking, creation, and editing capabilities.

See Also

Last modified on July 10, 2026