Skip to main content

Reference Users from Other Projects

To display assignees or users from a different project in a user reference column:
{
  "columns": [
    {
      "header": "Library Owner",
      "type": "userReference",
      "width": 150,
      "bindings": "owner",
      "typeProperties": {
        "project": "shared_library"
      }
    }
  ]
}
The user dropdown will show users from the shared_library project instead of the current project.
Use space-separated project IDs to merge user lists from multiple projects: "project": "proj_a proj_b proj_c"

Access Shared Enumerations

Load enumeration values from a centralized project to maintain consistent dropdown options:
{
  "header": "Risk Category",
  "type": "enum",
  "bindings": "riskCategory",
  "typeProperties": {
    "project": "risk_standards"
  }
}
This pulls the riskCategory enumeration definition from the risk_standards project, ensuring all projects use the same controlled vocabulary.

Use Velocity Context for Dynamic Resource Access

Access work items from other projects dynamically in formulas and configuration using Velocity:
{
  "formulas": {
    "riskMatrixLookup": "#set($matrixDoc = $trackerService.getDataService().getObjectFromUri('subterra:data-service:objects:/default/project_standards${workItem.Risks/RiskMatrix}')) $matrixDoc.getCustomField('severityThreshold')"
  }
}
This formula:
  1. Retrieves a work item from the project_standards project
  2. Reads the document’s custom field value
  3. Uses that value in the current Risksheet calculation
diagram
Velocity template usage requires understanding of Polarion’s Java API. Test formulas thoroughly in development environments before deploying to production.

Configure Cross-Project Status Workflows

When editing work items from other projects, RISKSHEET automatically loads the correct workflow for that item’s source project:
{
  "header": "Library Item",
  "type": "itemLink",
  "typeProperties": {
    "linkRole": "references",
    "linkTypes": "standard",
    "project": "iso_library"
  },
  "subColumns": [
    {
      "header": "Status",
      "bindings": "status",
      "width": 120
    }
  ]
}
When users click the status dropdown for a linked item from iso_library, RISKSHEET queries that project’s workflow engine to show only valid transitions for that item.
The system uses the project!workItemId notation internally to determine the correct workflow context. This happens automatically—no additional configuration needed.

Centralize Risk Matrix Definitions

Store risk matrix configuration in a shared work item accessible from multiple projects: In the risk_standards project:
  1. Create a work item (e.g., STD-100) with custom fields:
    • severityLevels: “1,2,3,4,5”
    • `occurrenceLevels”: “A,B,C,D,E”
    • `acceptabilityThreshold”: “10”
In your project configuration:
{
  "queryFactories": {
    "getStandardMatrix": "function(info) { var std = $trackerService.getDataService().getObjectFromUri('subterra:data-service:objects:/default/risk_standards${workItem.STD-100}'); return std.getCustomField('severityLevels'); }"
  }
}
This approach follows the DRY (Don’t Repeat Yourself) principle, maintaining a single source of truth for risk matrix definitions used across dozens of projects.
Cache retrieved configuration values in the top panel or use saved views to minimize repeated cross-project queries.

Handle Permission Differences

Cross-project resources respect Polarion’s permission model:
  • Users without read access to the source project won’t see linked items
  • Enum values load regardless of source project permissions
  • Workflow actions respect the source project’s workflow permissions
Resource TypePermission CheckFallback Behavior
Work ItemsSource project readItem appears as unresolvable
EnumerationsNone (public)Always loads
UsersSource project accessUser list may be empty
Custom FieldsSource project readField returns null
RISKSHEET supports deleting work items from other projects using the IdProject format. Ensure users understand the implications before enabling cross-project deletion.

Verification

  1. Configure a column with "project": "other_project" in typeProperties
  2. Open your Risksheet and locate the column
  3. Click the dropdown or autocomplete field
  4. ✅ You should see resources (users, enum values, or work items) from the specified project
  5. Select a resource and save
  6. Verify the linked item displays correctly with its source project badge

See Also

Support TicketsSource Code
  • RisksheetDataStorage.java
  • WorkItemBasedReview.java
  • StatusComboBox.ts
  • AppConfig.ts
  • RisksheetViewServlet.java