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
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-property | Type | Description |
|---|
linkRole | string | Link role ID that connects the risk item to the linked item (e.g., refines, verifies). Required. |
linkTypes | string | Comma-separated work item type IDs allowed in this column (e.g., systemRequirement or systemRequirement,softwareRequirement). Required. |
linkDirection | string | Set to back to traverse links in the reverse direction (link points from the target item to the risk item). |
backLink | boolean | Enable back-link rendering for reverse-direction display. |
itemTemplate | string | Velocity template for custom item display in the column cell. |
queryFactory | string | Reference 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.
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:
| Operation | Behavior |
|---|
| Display | Items from configured projects appear in columns with their project-qualified IDs |
| Create | New items saved to the first listed project or current project (with createInCurrentDocument) |
| Update | Editing cross-project items updates them in their home project |
| Delete/Unlink | Unlinking 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
| Limitation | Details |
|---|
| Direct links only | Cross-project display works for directly linked items. Indirect links through intermediary work items in other projects require additional configuration. |
| Same server required | All linked projects must be on the same Polarion server instance. |
| Assignee field context | The 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:
- Open the Risksheet document and confirm that linked items from other projects appear in the configured columns
- Create a new linked item and verify it is stored in the expected project
- Confirm that autocomplete suggestions show items from all configured projects
- 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