Remediation Bridge
Findings-to-action workflow, ownership handoff, and the model Meridian uses to keep remediation tied to real systems and teams.
Scope
Findings do not matter unless they reliably turn into accountable work. This page keeps the public-safe remediation model and removes the private integration plumbing that supports it internally.
What It Does
The remediation bridge connects Meridian compliance gaps to Jira. When Meridian detects a control failure, you can open a Jira ticket directly from the alert, finding, or MAP action item. The bridge tracks the ticket’s status in Jira and syncs it back into Meridian so the compliance dashboard reflects real operational progress.
Prerequisites
- A Jira Cloud instance (or Jira Data Center / Server with REST API access).
- An Atlassian API token with project write permissions.
- A Jira project and issue type configured for remediation tickets.
Meridian.adminpermission to configure the connector.Meridian.managepermission to create remediation tickets.
Setting Up the Jira Connector
- Navigate to Connectors in the sidebar.
- Click New Connector and select Jira.
- Fill in:
- Name — descriptive name (e.g., “Jira Cloud — Security Project”).
- Atlassian Account Email — the email of the account the API token belongs to.
- Atlassian API Token — the token you created. Stored encrypted.
- Project Key — the Jira project key where tickets land (e.g.,
SEC). - Issue Type ID — the Jira issue type ID (e.g.,
10001for Task). Use the numeric ID, not the name — IDs are stable across Jira customizations. - Click Create Connector.
- Click Test Connection. The test verifies both authentication and project access.
Finding the Issue Type ID
In Jira, navigate to Project Settings > Issue Types. The issue type ID is in the URL when you click on a type, or use the Jira REST API:
Optional: Field Mapping
If you want Meridian fields to map to Jira custom fields, add a field_mapping in the connector config:
Optional: Priority Mapping
Override the default severity-to-priority mapping:
Without this, the default mapping applies: critical -> Highest, high -> High, medium -> Medium, low -> Low, info -> Lowest.
Creating Remediation Tickets
From an Alert
When a control failure fires an alert:
- Navigate to the alert detail page.
- Click Create Ticket (requires
Meridian.managepermission). - The bridge creates a Jira issue in the configured project with:
- Summary:
[Meridian Alert] {message} — {severity} - Description: alert type, severity, status, dedup key, timestamps, and details.
- Priority: mapped from the alert severity.
- Labels:
meridian,alert, and the alert type. - The remediation ticket appears in the program’s remediation ticket list.
From a Finding
After an auditor creates a finding:
- Navigate to the finding detail page.
- Click Create Ticket.
- The bridge creates a Jira issue with:
- Summary:
[Meridian Finding] {title} — {classification} ({materiality}) - Description: finding ref, classification, materiality, status, and description.
From a MAP Action Item
When a MAP action item needs external tracking:
- Navigate to the MAP action item.
- Click Create Ticket.
- The bridge creates a Jira issue with:
- Summary:
[Meridian MAP Item] {description} — {status} - Description: item ID, status, target date, and description.
Duplicate Prevention
Viewing Remediation Tickets
Navigate to a compliance program and find the Remediation Tickets section. Each ticket shows:
- External Key — the Jira issue key (e.g.,
SEC-42), linked to Jira. - External Status — the raw Jira status from the most recent sync.
- Internal Status — Meridian’s state machine: open, in_progress, resolved, closed, or failed.
- Last Synced — when Meridian last polled Jira for status.
- Source — the alert, finding, or MAP item the ticket was created from.
Status Sync
Meridian periodically polls Jira for ticket status updates. When Jira reports a ticket as Done, Closed, or Resolved, Meridian transitions the internal status to resolved.
How Status Mapping Works
Common Jira statuses are mapped automatically:
| Jira Status | Meridian Status |
|---|---|
| Done, Closed, Resolved, Complete, Fixed, Won’t Do, Cancelled | resolved |
| In Progress, In Review, In Development, Working | in_progress |
| (anything else) | No change — raw status recorded |
If your Jira workflow uses custom status names that are not in this list, the sync will record the raw status but will not transition the internal state. Custom status mapping is a planned enhancement.
Auto-Advance MAP Items
When a remediation ticket for a MAP action item resolves in Jira, Meridian automatically marks the MAP item as completed. The parent MAP checks for all-items-complete on its regular sweep cycle.
Ticket Lifecycle
A remediation ticket moves through these states:
- open: Ticket created in Jira. Waiting for Jira progress.
- in_progress: Jira reports the ticket is being worked.
- resolved: Jira ticket is done. Meridian can close the bridge row.
- closed: Final state. The compliance gap has been addressed.
- failed: Something went wrong (Jira API error, connector offline). Can retry.
Related Documentation
- functional/remediation-bridge.md — ticket creation rules, state machine, status mapping
- architecture/remediation-bridge.md — integration model, data model, service architecture
- manual/connectors.md — general connector management