Jira connector

Connect IntelliPPM to Jira Cloud — issues, sprints, comments, attachments — with bi-directional sync and conflict resolution.

On this page

What the Jira connector covers

The Jira connector ingests issues, sprints, comments, and attachments from Jira Cloud and maps them onto IntelliPPM's canonical work-item, comment, and attachment models. The connector is bi-directional — writes that originate in IntelliPPM (a status change made via an AI Brain action, a comment posted from the HITL inbox, a re-parenting in the WBS view) flow back into Jira through the canonical event bus.

Auth

OAuth 2.0 against Atlassian's authorization server. The connector manifest declares the scopes required (read:jira-work, write:jira-work, read:jira-user); the consent screen is generated from the manifest. Refresh-token rotation is handled by the connector SDK with single-flight refresh.

Mapping

Mapping is declarative YAML — Jira issue type to canonical work item type, Jira status to canonical status, Jira priority to canonical priority, and so on. Custom fields can be mapped through CEL expressions for tenants that need them; arbitrary JS is not allowed in mappings.

The Identity Graph stores the external_id ↔ canonical_id link per issue so writes-back are routable.

Sync pattern

The sync pattern is webhook-first with a periodic reconciliation:

  • Webhook ingress receives change events from Jira and flips

into a Temporal workflow per (tenant, connection, entity).

  • Reconciliation runs daily and detects drift — issues that

exist in Jira but not in our mirror (or vice versa), state divergence, and ETag mismatches.

  • Initial backfill is a one-shot Temporal workflow on connect.

Conflict policy

The default per-field conflict policy for Jira is source-wins (Jira is the source of truth for issue status, assignee, and sprint). Comments are append-only on both sides. Custom fields can be configured per tenant — last-write-wins, source-wins, target-wins, or manual-review (queues the conflict in the Conflict Inbox).

Rate limiting

Per-connection AIMD token bucket — halves on 429, additive recovery on clean responses. Plan tier caps: Standard 5 connections at >=15-min polling, Pro 25 at >=5-min, Enterprise unlimited at >=1-min.

Echo loop

Outbound writes from IntelliPPM to Jira mark themselves with a header that the inbound webhook handler recognizes and skips, plus a 30-second debounce window per record. This prevents the common pattern where a write loops back as an inbound change and re-triggers the same workflow.

Limitations

  • Jira Server (on-prem) is not yet supported — Cloud only.
  • Custom workflows that have non-standard transitions need a

per-tenant mapping override in the connector configuration.

  • Attachments above 50 MB are linked but not downloaded.