Linking Jira as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Enter your Atlassian Jira credentials to pull your Jira data into the PostHog data warehouse. The token authenticates as your Atlassian account, so the data we can sync is limited to the projects and issues that account can see.

Adding a data source

  1. Go to the sources tab of the data pipeline section in PostHog.
  2. Click + New source and then click Link next to Jira.
  3. You need three things from Atlassian:
  4. Back in PostHog, enter the credentials and click Next.
  5. Select the tables you want to sync, set the sync method and frequency, then click Import.

Once the syncs are complete, you can start using Jira data in PostHog.

Available tables

TableDescriptionSync method
issuesIssues across the projects your account can accessIncremental
projectsProjects in your Jira instanceFull refresh
usersUsers in your Jira instanceFull refresh
fieldsField definitions, including custom fieldsFull refresh
issue_typesIssue type definitionsFull refresh
statusesWorkflow status definitionsFull refresh
prioritiesPriority definitionsFull refresh
resolutionsResolution definitionsFull refresh
dashboardsDashboardsFull refresh
filtersSaved filtersFull refresh
worklogsTime logged against issues by usersIncremental
boardsJira Software boards (scrum or kanban)Full refresh
sprintsJira Software sprints (time-boxed iterations on scrum boards)Full refresh
sprint_issuesMembership of an issue in a sprint, one row per sprint–issue pairFull refresh

Incremental tables sync only new or updated records on each run. Full refresh tables reload all data on each sync.

Sync limitations

The issues and worklogs tables support incremental syncing using Jira's server-side updated timestamp filter. Worklogs sync through the instance-wide /worklog/updated feed rather than per-issue requests, so they scale to large instances. Deleted worklogs are not removed automatically – they remain in the table until you run a full resync.

The sprints table fans out over boards. Kanban boards are skipped because they don't have sprints. Each sprint is deduplicated by ID, with originBoardId identifying the board that owns it.

The sprint_issues table reads the Sprint field on each issue rather than the deprecated agile issue listing. Sites without Jira Software (no Sprint field) sync an empty sprint_issues table.

Per-issue streams such as comments, votes, watchers, remote links, and transitions are not synced, as each requires a separate request per issue and does not scale well on large instances.

Configuration

OptionTypeRequired
SubdomaintextYes
EmailemailYes
API tokenpasswordYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
issues

A Jira issue — a task, bug, story, or other unit of work tracked in a project.

Incremental, Full refreshupdated, created—
projects

A Jira project that groups issues and configuration.

Full refresh——
users

A user account that can access the Jira site.

Full refresh——
fields

A field (system or custom) available on Jira issues.

Full refresh——
issue_types

A type that categorizes Jira issues (e.g. Bug, Story, Task, Epic).

Full refresh——
statuses

A workflow status an issue can be in (e.g. To Do, In Progress, Done).

Full refresh——
priorities

A priority level that can be assigned to a Jira issue (e.g. Highest, High, Medium).

Full refresh——
resolutions

A resolution that explains how an issue was closed (e.g. Done, Won't Do, Duplicate).

Full refresh——
dashboards

A Jira dashboard that displays gadgets summarizing issues and activity.

Full refresh——
filters

A saved JQL filter in Jira used to find a set of issues.

Full refresh——
worklogs

Time logged against a Jira issue by a user.

Incremental, Full refreshupdated—
boards

A Jira Software board that shows issues from a saved filter as a scrum or kanban board.

Full refresh——
sprints

A Jira Software sprint, a time-boxed iteration on a scrum board.

Full refresh——
sprint_issues

Membership of an issue in a sprint, one row per sprint an issue is or was part of.

Full refresh——

Still have questions?

Was this page useful?