Keelcroft / GitLab Issues Sync for Jira

GitLab Issues Sync for Jira

Keep a Jira issue and a GitLab issue in step, and prove it.Published

Available on Atlassian Marketplace. Approved and published on 16 October 2026.

Start the standard 30-day Marketplace trial. Paid via Atlassian; use the Marketplace pricing calculator for your Jira site size.

Start standard 30-day free trial · Get setup help for your first issue pair

What it does

Release information dated 30 October 2026, effective upon publication.

A Jira project administrator connects one Jira project to one GitLab project and chooses which fields travel in which direction. Link existing issues, enable qualifying automatic creation, or preview and import an existing backlog. The sync engine reads both sides, applies the configured mappings and conflict policy, then reads back destination values to verify the result.

Optional workflow labels

The default status map translates Jira statuses to GitLab's binary opened/closed state; reverse mapping chooses the first configured Jira status for that state. For more detail, opt in to a managed label prefix and up to 30 explicit Jira-status/GitLab-label/binary-state rules. These labels are not GitLab's native custom statuses. Missing, multiple, unknown or state-inconsistent workflow labels stop transfer instead of guessing.

Adding, changing or removing workflow rules, including their status direction, requires Pause sync, no saved webhook and zero linked pairs. Existing baselines are not automatically migrated. Automatic GitLab creation needs an Open rule; Jira's initial workflow status must be mapped when exporting status.

Creation and backlog import

Optional new comments and files

Verification, preview and missed-change recovery

Field writes are followed by a separate destination read and value comparison. The reconciliation view records disagreement and policy decisions. Jobs are serialized per connection and terminal event records suppress repeated processing; this is not an atomic transaction across platforms or a universal exactly-once guarantee.

Read-only pair Preview returns field names, conflict/override decisions and mapping-problem codes, not field values or document content. It changes no issue, baseline, storage record or queue. Preview is not Replay, a permissions audit, or a prediction of comment/file counts.

A scheduled recovery sweep runs on a five-minute schedule and requeues existing linked pairs for the ordinary engine, including enabled comment/file adapters. Each invocation has at most ten pair slots, five per connection, and a 20-second budget for starting new work; an outstanding request can take longer. Persistent cursors help work resume. Queue delays, API limits and installation size still apply: this is not a five-minute completion promise or SLA. Recovery does not discover unlinked issues missed by webhooks; use backlog import for those.

Privacy and operational boundaries

Verification evidence and limits

Receiving-side GitLab.com live checks cover field, comment and import round trips; earlier live checks also verified file bytes both ways, creation, assignee mapping and restricted/internal-note exclusions. Automated tests cover additional mapping, workflow, privacy and recovery paths. Those are different kinds of evidence: they do not establish self-managed GitLab compatibility, separate-user permission equivalence, load capacity, scheduled recovery timing or every failure scenario. No competitor head-to-head or overall-best claim is made.

What you need to connect

Support

Email support@keelcroft.com. Security reports: same address, subject line “Security”.

GitLab is a trademark of GitLab Inc. Keelcroft is an independent publisher and is not affiliated with, endorsed by, or sponsored by GitLab or Atlassian.