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

# Risk Deletion Errors

> Resolve errors when deleting or removing risk items from Nextedy RISKSHEET, including the "No rejected action found" error, workflow configuration for imported items, and removal strategy setup.

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

| Error / Behavior                                       | Likely Cause                                                                                       |
| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| `No rejected action found` in console                  | Workflow transition missing for current item status                                                |
| Manually created items delete, but imported items fail | Imported items have a different initial workflow state                                             |
| `RISKSHEET rollbackTx` in server logs                  | Deletion operation failed and was rolled back                                                      |
| Items remain in grid after remove action               | `rejectedAction` / `rejectedStatus` misconfigured, or `hide` strategy used without matching filter |
| Items disappear but cannot be located in Polarion      | `recycle_bin` strategy moved them to the hidden recycle bin                                        |
| `resolution` field cannot be edited in grid            | Field is always read-only in Risksheet                                                             |
| Removed items reappear after refresh                   | Status filter excluding `rejectedStatus` is missing from views                                     |

## Understand Removal Strategies

Risksheet supports four removal approaches configured via the `dataTypes.risk.removeStrategy` property in the sheet configuration:

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/t34k0QhMnn4JCqkc/risksheet/diagrams/troubleshooting/risk-deletion-errors/diagram-1.svg?fit=max&auto=format&n=t34k0QhMnn4JCqkc&q=85&s=e9bd8a517f5506bd7753f2d2cb66627f" alt="diagram" style={{ maxWidth: "720px", width: "100%" }} width="720" height="480" data-path="risksheet/diagrams/troubleshooting/risk-deletion-errors/diagram-1.svg" />
</Frame>

The four strategies trade off audit retention against grid cleanliness:

| Strategy      | Behavior                                                                        | Retention                                                       | Version                |
| ------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------- |
| `delete`      | Permanently deletes the work item via Polarion API                              | None - item is gone                                             | All versions (default) |
| `rejected`    | Executes `rejectedAction` workflow transition to set status/resolution          | Full audit trail; item filterable by status                     | All versions           |
| `recycle_bin` | Moves item into Polarion's recycle bin (hidden from queries; admin-recoverable) | Recoverable by admin via Polarion                               | All versions           |
| `hide`        | Item remains active but is filtered out of the grid by `rejectedStatus`         | Item visible elsewhere in Polarion; no workflow change required | v23.7.7+               |

Example sheet configuration covering all strategies:

```yaml theme={null}
dataTypes:
  risk:
    type: fmea_risk
    # Choose one: delete | rejected | recycle_bin | hide
    removeStrategy: rejected
    rejectedAction: reject
    rejectedStatus: rejected
    rejectedResolution: invalid
```

| Property             | Default    | Purpose                                                                            |
| -------------------- | ---------- | ---------------------------------------------------------------------------------- |
| `removeStrategy`     | `delete`   | Strategy for removing risk items                                                   |
| `rejectedAction`     | `reject`   | Workflow action executed by the `rejected` strategy                                |
| `rejectedStatus`     | `rejected` | Target status after rejection; also the status filtered out by the `hide` strategy |
| `rejectedResolution` | `invalid`  | Resolution value set by the `rejected` strategy                                    |

<Info title="All data lives in Polarion">
  Regardless of the strategy you choose, Risksheet never stores risk data in its own database. Each strategy is a Polarion-side operation: a permanent delete, a workflow transition, a recycle bin move, or a status filter. Audit history is governed by Polarion's standard infrastructure.
</Info>

## Fix 1: Resolve "No Rejected Action Found"

The error `No rejected action found` occurs when the `rejected` strategy attempts to execute a workflow action that does not exist for the work item's current status.

1. Open the browser developer console (`F12`)
2. Attempt the delete/remove operation
3. Look for the `No rejected action found` error
4. Check the work item's current status in Polarion
5. Verify that a workflow transition matching your `rejectedAction` value exists **from the current status**

<Warning title="Imported work items may lack rejection transitions">
  Work items imported via the Polarion tracker importer (for example, from Excel) may have a different initial workflow state than items created through Risksheet. Ensure the workflow definition includes a rejection transition from **all** possible initial states, including the state assigned during import.
</Warning>

## Fix 2: Configure Workflow for the `rejected` Strategy

To use workflow-based removal, your work item type's workflow must include:

1. A transition (action) matching the `rejectedAction` value from **every** status where removal should be possible
2. A target status matching the `rejectedStatus` value
3. The `rejectedResolution` value must be a valid resolution option for the target status

| Property             | Config Value | Workflow Requirement                                                      |
| -------------------- | ------------ | ------------------------------------------------------------------------- |
| `rejectedAction`     | `reject`     | Action "reject" exists as a valid transition from all applicable statuses |
| `rejectedStatus`     | `rejected`   | Status "rejected" exists in the workflow                                  |
| `rejectedResolution` | `invalid`    | Resolution "invalid" is valid for the rejected status                     |

<Tip title="Resolution field workaround">
  The Polarion `resolution` field cannot be directly edited in Risksheet - it is always read-only. Use the `rejectedAction`, `rejectedStatus`, and `rejectedResolution` properties to handle rejection workflows automatically instead.
</Tip>

## Fix 3: Troubleshoot the `recycle_bin` Strategy

When `removeStrategy: recycle_bin` is configured, items moved to the recycle bin are hidden from standard Polarion queries and from the Risksheet grid. This is the right choice when you need a soft delete that can be reversed by an administrator but you do not want to manage a custom workflow.

**Symptoms specific to `recycle_bin`:**

* Items disappear from the grid immediately after removal
* Items cannot be found by ID in Polarion's standard tracker views
* Users report that "deletions appear permanent" even though no `delete` was performed

**Resolution steps:**

1. Verify that the current user has permission to write to the recycle bin in Polarion (Administration > User Management > Permissions). Without permission, the move silently fails and the server logs `RISKSHEET rollbackTx`.
2. To recover an item: in Polarion, switch to **Recycle Bin** view in the tracker (Administration > Tracker > Recycle Bin) and restore the item.
3. The `rejectedAction`, `rejectedStatus`, and `rejectedResolution` properties are **not used** by `recycle_bin` - removing them from the sheet configuration is safe when this strategy is active.
4. If you need an audit trail of who removed each item, the `rejected` strategy is preferable - the recycle bin records the move but does not capture a structured rejection reason.

<Warning title="Recycle bin is project-scoped">
  Items in the recycle bin remain associated with their original project. Cross-project queries do not return recycled items. If your reporting depends on system-wide queries, prefer the `rejected` strategy so items remain visible (but filtered by status) instead of hidden.
</Warning>

## Fix 4: Troubleshoot the `hide` Strategy (v23.7.7+)

The `hide` strategy keeps the work item active in Polarion and instead filters it out of the Risksheet grid based on the `rejectedStatus` value. This strategy is useful when:

* You want items to remain searchable in Polarion's standard views
* You want to avoid creating custom workflow transitions
* You need a lightweight "remove from this risksheet" action that is reversible by simply changing the item status

**Symptoms specific to `hide`:**

* Items reappear in the grid after a refresh
* Items remain visible in other Polarion documents or queries that do not filter by status
* The remove action appears to do nothing for users on Risksheet versions older than v23.7.7

**Resolution steps:**

1. Confirm the Risksheet server is v23.7.7 or later. Earlier versions silently ignore `removeStrategy: hide` and fall back to default behavior. Check the version via **Administration > Nextedy Risksheet > Setup**.
2. Set `rejectedStatus` to a Polarion status that the work item type already supports. The `hide` strategy does not execute a workflow transition - it only filters by status - so the item must already be in (or be moved to) that status by other means.
3. If items reappear after refresh, verify that the work item's status actually matches `rejectedStatus`. The `hide` strategy filters but does not change status.
4. If you need the status to change automatically on removal, switch to the `rejected` strategy and configure `rejectedAction` to perform the transition.

<Tip title="Combining hide with manual workflow">
  A common pattern is to use `hide` together with a manual Polarion workflow transition. Users perform the workflow transition from outside Risksheet (for example, through the Polarion tracker), and the item disappears from the Risksheet grid as soon as it reaches `rejectedStatus`.
</Tip>

## Fix 5: Handle Electronic Signature Requirements

Electronic signatures are not supported in Risksheet because the Polarion API does not expose this capability. If your process requires signatures when rejecting items:

1. Remove the signature requirement from the workflow action used by Risksheet's `rejected` strategy
2. Create a separate Polarion workflow action with the electronic signature requirement
3. Perform the signature-required action outside Risksheet through the standard Polarion interface

<Info title="Verify in application">
  The electronic signature limitation is due to missing Polarion API support. Check whether newer Polarion versions have added API support for electronic signatures.
</Info>

## Task Unlinking vs. Deletion

Risksheet distinguishes between removing a risk item and unlinking a task relationship:

* **Standard removal** - applies the configured `removeStrategy` to the risk work item
* **Task unlinking** - removes the link role between the risk item and the linked task without affecting either work item

All removal and unlinking operations are transactional. If an operation fails (for example, permission denied on the recycle bin, or no matching workflow action), the system automatically rolls back to prevent partial updates.

## Choosing the Right Strategy

| If you need...                                      | Use               |
| --------------------------------------------------- | ----------------- |
| Hard delete, no audit trail                         | `delete`          |
| Workflow-driven rejection with reason and status    | `rejected`        |
| Soft delete that an admin can reverse               | `recycle_bin`     |
| Lightweight grid filtering without workflow changes | `hide` (v23.7.7+) |

For regulated environments (medical devices under ISO 14971, automotive under ISO 26262), prefer `rejected` because it produces an auditable workflow event with a captured resolution. For exploratory analysis where users frequently remove and re-add items, `hide` minimizes friction.

## Verification

After applying the configuration changes, you should see:

* Risk items removed from the grid after clicking the remove action
* For the `rejected` strategy: items transition to `rejectedStatus` and are filtered from the grid view
* For the `recycle_bin` strategy: items are no longer returned by standard Polarion queries and are recoverable from the recycle bin
* For the `hide` strategy: items remain in Polarion but are filtered out of the Risksheet grid by status
* No `No rejected action found` errors in the browser console
* Both manually created and imported items can be removed successfully

To confirm the outcome, open the work item directly in Polarion and verify its status, resolution, and recycle bin state match the expected result for the configured strategy.

## See Also

* [Save Operation Failures](/risksheet/troubleshooting/save-failures) - resolve save-related errors
* [Duplicate Mitigation Tasks](/risksheet/troubleshooting/duplicate-mitigation-tasks) - fix task relationship issues
* [Permission-Based Field Restrictions](/risksheet/troubleshooting/permission-errors) - troubleshoot field access problems
* [Cell Editing Issues](/risksheet/troubleshooting/cell-editing-issues) - general editing troubleshooting

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