Skip to content

Jira

Ingests Jira Cloud as a property graph: projects, issues, epics, the people assigned to and reporting them, and the links between issues. Fetches the most recently updated issues (bounded per tick) and reuses the same graph node labels — Issue, User, Project — as the code data sources, so cross-vendor views line up.

OAuth data source

Authorize once with Connect in the UI. Provider slug atlassian (one app serves both Jira and Confluence); see OAuth data sources for the Atlassian developer-console setup. Requested scopes: read:jira-work, read:jira-user, read:me, offline_access. The site cloudId is resolved automatically from the token's accessible resources.

Connect

  1. Data sources → Add data source → Jira.
  2. Name it, Connect Jira, approve access to your site.
  3. (Optional) restrict to specific project keys; empty = all accessible.
  4. Pick a sync interval and Create.

What it ingests

A property graph under jira_nodes / jira_edges (graph name jira); ids are prefixed jira:.

Nodes

LabelIdKey props
Projectjira:proj:{key}name
Issue / Epicjira:issue:{key}summary, status, issuetype, updated
Userjira:user:{accountId}name

Edges

TypeFrom → ToMeaning
HAS_ISSUEProject → Issueissue belongs to a project
ASSIGNED_TO / REPORTED_BYIssue → Userassignee / reporter
CHILD_OFIssue → Issue/Epicsub-task / epic parent
LINKS_TOIssue → Issueissue link (carries the link type, e.g. blocks)

Configuration

FieldTypeDefaultDescription
credential_iduuid— (required)the OAuth2 credential (set by the Connect flow)
cloud_idstringautoAtlassian site id; resolved from the token if omitted
projectsstring[][]restrict to these project keys; empty = all
max_pages_per_tickint5/search pages per tick (≤100 issues each)
json
{
  "credential_id": "0e8f…",
  "projects": [],
  "max_pages_per_tick": 5
}

Default sync interval is 10 minutes.

An open-source project · MIT licensed.