Skip to main content

Symptoms

  • Duplication error on save after copy-pasting an existing task to a different row (Ctrl+C / Ctrl+V)
  • Error when linking existing downstream tasks across projects
  • Multiple task rows appearing for the same risk item unexpectedly
  • Paste operations creating only one task per risk item instead of multiple

Fix: Task Project Column Causing Duplication

The most common cause of task duplication errors is having a Task project column visible in the Risksheet configuration. When you copy-paste an existing task between rows with this column present, the save operation triggers a duplication error. Workaround — remove the Task project column: Locate the Task project column in your risksheet.json and remove it:
{
  "columns": [
    { "id": "taskId", "header": "Task", "binding": "taskId", "type": "taskLink" },
    { "id": "taskTitle", "header": "Task Title", "binding": "taskTitle" }
  ]
}
Having a Task project column visible in your Risksheet configuration causes duplication errors when copy-pasting existing tasks between rows. Remove the Task project column as a workaround. This bug was fixed in version 24.6.0.

Fix: “project” vs “projects” in dataTypes Configuration

When configuring cross-project downstream tasks, use the correct property name in dataTypes:
PropertyUsageExample
projectSingle target project"project": "MyProject"
projectsMultiple target projects"projects": ["ProjectA", "ProjectB"]
{
  "dataTypes": {
    "task": {
      "type": "mitigationAction",
      "role": "mitigates",
      "project": "RiskMitigations"
    }
  }
}
For single-project task configurations, use project (singular). For multi-project scenarios, use projects (plural). Using the wrong property name can cause linking errors or unexpected behavior.

Understand Task Creation Behavior

When you add a new task to a risk item, the behavior depends on whether the item already has tasks: diagram Tasks belonging to the same risk item are grouped by their systemItemId value. New tasks are always inserted after the last sibling task row.

Fix: Paste Operations Creating Only One Task Per Item

When using Insert Rows Below (paste from clipboard), only the first task per risk item is inserted. Additional tasks are skipped. This is a known limitation. If you see the warning toast “Pasting only first task per item”, the system is functioning as designed. All pasted items are inserted at the top level (level 0) regardless of the source hierarchy.
When pasting risk items with multiple tasks using Insert Rows Below, only the first task per item is inserted. Additional tasks must be added manually after pasting. The completion toast displays up to 10 inserted item IDs.

Fix: Cross-Project Task Linking Errors

Cross-project task linking has additional constraints:
  1. Items from different Polarion servers cannot be linked in the same Risksheet
  2. Users must have access to all target projects configured in projects
  3. In clustered Polarion setups with separate servers, cross-server linking is not supported
The task link editor validates uniqueness to prevent duplicate task assignments. If you attempt to select an already-linked item, a notification informs you the item is already present.

Task Removal Behavior

When removing duplicate or unwanted tasks, the behavior depends on the number of remaining tasks:
ScenarioBehavior
Risk item has multiple tasksEntire task row is deleted
Risk item has single taskTask fields are cleared, risk item row is preserved
Both operations support undo via Ctrl+Z. Task removal is blocked when:
  • downstreamReadonly is enabled on the Risksheet
  • The task has SYSTEM_TASK_READONLY protection set
  • The item has SYSTEM_ITEM_READONLY flag with downstreamReadonly enabled

Verification

After applying the resolution:
  1. Open the Risksheet document
  2. Add a new task to a risk item using the context menu or toolbar
  3. Copy a task to another risk item using Ctrl+C / Ctrl+V
  4. Save the document and confirm no duplication errors appear
You should now see tasks created and linked without duplication errors, with each task appearing as a properly grouped row under its parent risk item.

See Also

Support TicketsSource Code
  • AddTaskCommand.ts
  • RemoveTaskCommand.ts
  • InsertRowsBelowCommand.ts
  • CellEditorFormatter.ts
  • risksheet.json