New: Supaflow Claude Code Plugin -- let AI agents create, edit, and monitor your data pipelines. See how the plugin works
Jira Cloud logo

Jira Cloud Connector

Sync Jira Cloud issues (with components, subtasks, transitions, comments, worklogs, and changelog), projects, users, and workflows into your warehouse.

SourceCommunity

Evaluating against Fivetran? See how Supaflow handles Jira Cloud pricing, connector quality, and Snowflake deployment side-by-side.

Supaflow vs Fivetran

Why Supaflow

All connectors included

Every connector is available on every plan. Pricing does not increase with connector count.

Pay for compute, not rows

Credit-based pricing. Usage scales with your pipelines, not with row counts.

One platform

Ingestion, dbt Core transformation, reverse ETL, and orchestration in a single workspace.

Capabilities

Email + API Token Authentication

Basic auth with your Atlassian email and an API token from id.atlassian.com. No OAuth flow needed. The connector is read-only and never writes back to Jira; the account only needs Browse Projects permission on the projects you want to sync.

Incremental Issues by `updated`

Issues sync incrementally on the `updated` field, using a JQL query that bounds `updated >= last_cursor AND updated < now`. Jira JQL only supports minute-level precision; the connector truncates cursors to minutes and persists the truncated value as state so boundary updates are never silently missed.

Custom Field Registry Integration

On each schema refresh, the connector pulls `/rest/api/3/field` to discover every standard and custom field on your Jira site, with the type Atlassian declares for each. That prevents dlt from silently dropping columns whose values happen to be null in the sampled batch -- fields like `duedate`, `resolutiondate`, `assignee`, and time tracking survive even on small syncs.

Nine Child Tables on Issues

The issues resource materializes nine child tables for components, fix versions, versions, issue links, subtasks, transitions, comments, worklogs, and changelog histories. Pick which children to materialize in the schema wizard -- unselected children are skipped, and the connector uses Jira’s `fields` and `expand` parameters to push selection down to the API.

Field Pushdown for Large Sites

When you narrow the issue fields to sync, the connector reverse-maps your selections through the Jira field registry and passes them as `fields=<list>` on each API call. Required internal fields (`id`, `key`, `updated`, `self`) are always included. Response payloads are smaller and sync time drops on large sites.

Lookback for Eventual Consistency

Optional per-sync Lookback Period (seconds) rolls the cursor back by that many seconds before querying Jira. Useful if you observe late-arriving issue updates due to Jira Cloud’s eventual consistency. Set it to 60--300 seconds if you see occasional misses.

Supported Objects

Top-level Resources

issues

Incremental by `updated`. Powers nine child tables (components, fix versions, issue links, subtasks, transitions, comments, worklogs, changelog histories).

projects

Full refresh. All projects visible to the authenticated account.

users

Full refresh. Includes inactive accounts. Primary key is `account_id`.

workflows

Full refresh. Workflow definitions with a composite primary key of `id__entity_id` + `id__name`.

Issues Child Tables

issues__components

Components attached to issues (from `fields.components[]`).

issues__fix_versions

Fix version links (from `fields.fixVersions[]`).

issues__versions

Affected version links (from `fields.versions[]`).

issues__issuelinks

Inter-issue links (from `fields.issuelinks[]`).

issues__subtasks

Subtask references (from `fields.subtasks[]`).

issues__transitions

Available transitions (from `expand=transitions`).

issues__comment__comments

Comments on issues (from `fields.comment.comments[]`).

issues__worklog__worklogs

Worklog entries on issues (from `fields.worklog.worklogs[]`).

issues__changelog__histories

Issue history / changelog entries (from `expand=changelog`).

Not synced in v1

boards, sprints, epics as entity, filters, dashboards, permission schemes, notification schemes, issue types as entity, priorities, resolutions, project roles

Not exposed by the v1 connector. Jira Server and Data Center (self-hosted Jira) are also not supported -- the connector targets `*.atlassian.net` only. Email support@supa-flow.io with the endpoints you need.

How It Works

1

Create an Atlassian API token

Sign in to id.atlassian.com/manage-profile/security/api-tokens with the Atlassian account you want the connector to use. Click Create API token, give it a label like "Supaflow integration", and copy the token once -- Atlassian will not show it again.

2

Enter the subdomain and credentials in Supaflow

Enter your Jira Cloud subdomain (either `mycompany` or `mycompany.atlassian.net`; the connector strips the suffix), the Atlassian account email, and the API token. Credentials are stored encrypted.

3

Configure advanced settings

Optionally set Schema Refresh Interval in minutes (default 0 means refresh before every run, right for sites with active custom-field work). Optionally set Lookback Period in seconds to re-fetch a trailing window on each incremental run.

4

Test and save

Click Test & Save. Supaflow validates the credentials by calling `/rest/api/3/myself` with basic auth. On success the source is saved and schema discovery runs.

Use Cases

Engineering velocity and cycle-time reporting

Land issues and the changelog histories child table, then reconstruct status-transition timestamps in dbt to compute lead time, cycle time, and throughput per project or team.

Issue and worklog time tracking

Sync the worklog child table alongside issues to build time-by-project or time-by-assignee reports, even when your Jira license is Team-Managed and the in-product time-tracking views are limited.

Comment and mention analysis

The comments child table lands every comment body, author, and timestamp. Combine with LLM enrichment in the warehouse to classify customer-support issue comments, flag escalation language, or summarize long threads.

Frequently Asked Questions

Does Supaflow support Jira Server or Jira Data Center?
No. The connector targets Jira Cloud (`*.atlassian.net`) only. Email support@supa-flow.io if Jira Data Center support is important for your evaluation.
How does Supaflow handle Jira custom fields?
On each schema refresh, the connector calls `/rest/api/3/field` to discover every custom field and its Atlassian-declared type, then feeds the type map to dlt before any data is read. Columns like `customfield_10001` keep their stable IDs as column names -- renaming a custom field in Jira does not change the column name in the warehouse.
What permissions does the Atlassian account need?
Only Browse Projects on the projects you want to sync. Administer Jira is not required. For long-term stability, create a dedicated service account rather than using an individual user’s token -- if the individual leaves and the account is deactivated, the pipeline breaks.
Can I sync boards, sprints, epics, or filters?
Not in v1. The connector exposes four top-level resources: issues, projects, users, and workflows. In Jira Software company-managed projects, epic-relationship data is typically carried on the Epic Link custom field on each issue (the specific field ID is site-specific). Team-managed projects use a native parent relationship the v1 connector does not specifically model. Email support@supa-flow.io with the endpoints you need.
How does incremental sync handle Jira’s JQL minute precision?
Jira JQL only accepts `yyyy-MM-dd HH:mm` timestamps. The connector truncates its cursor to minutes before building the query, and persists the minute-truncated value as the saved cursor. Issues updated later in the same minute may be re-read on the next run; that is by design and prevents boundary misses.
Does the connector handle Jira rate limits?
Atlassian applies rate limits per site and plan. The connector does not expose Jira-specific retry or throttling controls in the UI. For very large sites, schedule syncs off-hours and use field pushdown (select only the issue fields and children you need) to reduce API load.
Can I run the Jira pipeline natively inside Snowflake?
Yes. Supaflow runs as a Snowflake Native App via Snowpark Container Services. Your Jira data is extracted and loaded without leaving your Snowflake account. See our Snowflake Native ETL guide for details.

Need a connector we don't support yet?

Build one with AI-powered Connector Dev Skills.

Learn More About the Connector SDK