> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Duplicate Mitigation Tasks

> Resolve duplication errors when creating, copying, or linking mitigation tasks to risk items in Nextedy RISKSHEET.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

## 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 sheet configuration and remove it:

```yaml theme={null}
columns:
- id: taskId
  header: Task
  bindings: taskId
  type: taskLink
- id: taskTitle
  header: Task Title
  bindings: taskTitle
```

<Warning title="Task project column causes duplication errors">
  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**.
</Warning>

## Fix: "project" vs "projects" in dataTypes Configuration

When configuring cross-project downstream tasks, use the correct property name in `dataTypes`:

| Property   | Usage                    | Example                                |
| ---------- | ------------------------ | -------------------------------------- |
| `project`  | Single target project    | `"project": "MyProject"`               |
| `projects` | Multiple target projects | `"projects": ["ProjectA", "ProjectB"]` |

```yaml theme={null}
dataTypes:
  task:
    type: mitigationAction
    role: mitigates
    project: RiskMitigations
```

<Tip title="Single vs. multiple project configuration">
  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.
</Tip>

## Understand Task Creation Behavior

When you add a new task to a risk item, the behavior depends on whether the item already has tasks:

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/t34k0QhMnn4JCqkc/risksheet/diagrams/troubleshooting/duplicate-mitigation-tasks/diagram-1.svg?fit=max&auto=format&n=t34k0QhMnn4JCqkc&q=85&s=b3dd278055f5db6ef01d3311920d9750" alt="diagram" style={{ maxWidth: "580px", width: "100%" }} width="580" height="200" data-path="risksheet/diagrams/troubleshooting/duplicate-mitigation-tasks/diagram-1.svg" />
</Frame>

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.

<Warning title="Paste limitation: one task per item">
  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.
</Warning>

## 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:

| Scenario                         | Behavior                                            |
| -------------------------------- | --------------------------------------------------- |
| Risk item has **multiple tasks** | Entire task row is deleted                          |
| Risk item has **single task**    | Task 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

* [Save Operation Failures](/risksheet/troubleshooting/save-failures) -- general save troubleshooting
* [Cell Editing Issues](/risksheet/troubleshooting/cell-editing-issues) -- editor and input problems
* [Risk Deletion Errors](/risksheet/troubleshooting/risk-deletion-errors) -- removing risk items

<LastReviewed date="2026-06-24" />
