Jira + Jira Cloud
Connect On-Premise Jira and Jira Cloud — Sync Projects, Issues, and Teams Automatically
Automate bidirectional data flow between your Jira Server or Data Center instance and Jira Cloud so every team stays current without manual effort.


Why integrate Jira and Jira Cloud?
Many organizations run both a self-hosted Jira instance (Server or Data Center) and Jira Cloud at the same time — whether during a phased migration, to support separate business units, or to meet compliance requirements. Keeping issues, projects, sprints, and status updates synchronized across both environments manually is error-prone and slow. Tray.ai makes it straightforward to build reliable, automated pipelines that bridge your Jira and Jira Cloud deployments so nothing gets missed.
Automate & integrate Jira & Jira Cloud
Use case
Bidirectional Issue Sync During Cloud Migration
During a phased Atlassian Cloud migration, teams in Jira Server and Jira Cloud need to collaborate on the same backlog without losing context. Tray.ai keeps issues mirrored across both instances in real time, picking up status changes, comments, and assignee updates wherever they originate. You can migrate at your own pace while maintaining a single source of truth across both platforms.
Use case
Cross-Instance Sprint and Release Tracking
When product and engineering teams are split across Jira Server and Jira Cloud, sprint planning and release readiness reporting get fragmented fast. Tray.ai pulls sprint data from both instances into unified dashboards or downstream reporting tools, giving leadership a complete picture of delivery progress. Sprint completions in either environment can automatically trigger notifications or update shared roadmap tools.
Use case
Priority Escalation Workflows Across Instances
When a critical issue is escalated in one Jira instance, the corresponding ticket in the other should immediately reflect the updated priority and trigger the right notifications. Tray.ai detects priority changes or severity labels in either system and propagates them right away, so SLA timelines are respected across both environments. On-call teams and project leads always see the latest priority regardless of which platform they use.
Use case
Automated Parent-Child Issue Linking Across Instances
Enterprise delivery often involves epics managed in Jira Cloud while sub-tasks or implementation stories live in an on-premise Jira instance. Tray.ai creates and maintains cross-instance links so progress on child issues automatically rolls up to the parent epic, keeping roadmap views accurate. When a sub-task closes in Jira Server, the update appears on the Cloud epic immediately.
Use case
Compliance and Audit Log Replication
Organizations in regulated industries often run Jira Server on-premise to satisfy data residency requirements while enabling Cloud access for distributed teams. Tray.ai replicates issue audit events, field change histories, and approval transitions from Jira Cloud back to the on-premise instance to maintain a complete compliance record. Audit logs are timestamped and archived automatically — no manual export steps needed.
Use case
Unified Customer-Facing and Internal Issue Tracking
Support and customer success teams often use Jira Cloud for customer-facing ticket management while engineering teams use Jira Server for internal development tracking. Tray.ai links customer tickets in Cloud to engineering issues in Server, automatically syncing resolution status and internal notes back to the customer-facing ticket when work is completed. Engineers don't have to context-switch between tools to close the loop.
Use case
Cross-Instance Reporting and KPI Aggregation
Leadership needs consistent KPIs — open defects, story points completed, cycle time — across all Jira environments. Tray.ai pulls issue metrics from both Jira and Jira Cloud on a scheduled basis, normalizes field mappings, and pushes aggregated data into BI tools or data warehouses. No more separate JQL queries and manual spreadsheet exports for each instance.
Get started with Jira & Jira Cloud integration today
Jira & Jira Cloud Challenges
What challenges are there when working with Jira & Jira Cloud and how will using Tray.ai help?
Challenge
Field Schema Mismatch Between Jira Server and Jira Cloud
Jira Server and Jira Cloud often have divergent custom field configurations, field IDs, and option values — especially after years of independent configuration. Mapping fields between instances without accounting for these differences results in failed syncs, missing data, or incorrectly populated fields that erode trust in the integration.
How Tray.ai Can Help:
Tray.ai's visual data mapper lets you define field-level transformations between the two instances, including value translation tables for dropdowns and status names. You can maintain separate mapping configurations per project pair and update them without redeploying the entire workflow, so schema drift stays manageable over time.
Challenge
Preventing Infinite Sync Loops
In a bidirectional sync, an update in Jira Server triggers an update in Jira Cloud, which triggers a webhook back to Jira Server — an infinite loop that floods both systems with spurious updates and burns through API rate limits fast.
How Tray.ai Can Help:
Tray.ai workflows support conditional logic and stateful flags that detect whether an update originated from the sync automation itself. By storing a sync-source identifier on each issue and checking it at the start of every workflow run, tray.ai breaks the loop before any duplicate update is written, keeping both instances stable and API usage low.
Challenge
API Authentication Management Across Two Instances
Jira Server uses different authentication mechanisms (basic auth, PAT, or OAuth 1.0) than Jira Cloud (OAuth 2.0, API tokens). Managing credentials, token rotation, and permission scopes across two separate authentication models adds operational complexity and creates potential security gaps.
How Tray.ai Can Help:
Tray.ai stores credentials for both Jira and Jira Cloud in a secure, centralized credential vault with role-based access controls. Authentication is configured once per connector and reused across all workflows. Tray.ai's connector framework handles the protocol differences between Server and Cloud authentication behind the scenes — you never write auth logic in your workflows.
Challenge
Handling Rate Limits During Bulk Migration Syncs
When initially backfilling thousands of existing issues from Jira Server into Jira Cloud (or vice versa), aggressive API calls quickly exhaust Jira's rate limits, causing failed requests, partial syncs, and data gaps that are difficult to audit and fix.
How Tray.ai Can Help:
Tray.ai workflows include built-in retry logic, exponential backoff, and throttle controls that respect each instance's API rate limits. Bulk backfill templates use paginated queries and batch processing to spread load over time, and failed individual records land in a dead-letter queue for targeted retry rather than reprocessing the entire dataset.
Challenge
Maintaining Sync Integrity After Jira Server Downtime
On-premise Jira Server instances go down for planned maintenance and unplanned outages. Updates made in Jira Cloud during a Server outage are missed by event-driven webhooks, leaving silent data gaps that only surface when users notice discrepancies between the two systems.
How Tray.ai Can Help:
Tray.ai pairs event-driven sync with scheduled reconciliation workflows that compare issue states between both instances using timestamps and catch any updates missed during downtime. When the Server instance comes back online, the reconciliation job works through the backlog of missed changes automatically, restoring full sync integrity without manual intervention.
Start using our pre-built Jira & Jira Cloud templates today
Start from scratch or use one of our pre-built Jira & Jira Cloud templates to quickly solve your most common use cases.
Jira & Jira Cloud Templates
Find pre-built Jira & Jira Cloud solutions for common use cases
Template
Real-Time Bidirectional Issue Sync: Jira ↔ Jira Cloud
This template watches for new and updated issues in both Jira Server/Data Center and Jira Cloud, then creates or updates the corresponding mirror issue in the opposite instance. Field mappings, status transitions, comments, and assignees are synchronized automatically, with loop-prevention logic to avoid infinite update cycles.
Steps:
- Webhook trigger fires when an issue is created or updated in Jira Server or Jira Cloud
- Tray.ai checks for an existing mirror issue in the target instance using a stored cross-reference ID
- If no mirror exists, a new issue is created with mapped fields and the cross-reference ID is stored
- If a mirror exists, the issue is updated with changed field values and the latest comment
- Loop-prevention flag is set to avoid re-triggering the sync on the propagated update
Connectors Used: Jira, Jira Cloud
Template
New Jira Cloud Issue → Create Linked Issue in Jira Server
When a new issue is created in Jira Cloud (for example, by a customer-facing team), this template automatically creates a linked tracking issue in the designated Jira Server project and stores the bidirectional link in both records. Field defaults and custom field mappings are configurable per project.
Steps:
- Jira Cloud webhook triggers on issue creation in a specified project
- Tray.ai maps Cloud issue fields to the corresponding Jira Server field schema
- A new issue is created in the target Jira Server project with mapped values
- The Jira Server issue key is written back as a link or custom field on the Cloud issue
Connectors Used: Jira Cloud, Jira
Template
Priority Escalation Propagation Between Jira Instances
Detects when an issue priority or severity changes to a critical level in either Jira instance and immediately updates the corresponding mirror issue in the other instance, then sends a Slack or email notification to the assigned team and on-call engineer.
Steps:
- Issue update webhook fires when priority field changes in either Jira instance
- Tray.ai evaluates whether the new priority meets the escalation threshold
- The mirror issue in the opposite Jira instance is updated with the new priority
- A notification is sent to the assignee, project lead, and configured on-call channel
Connectors Used: Jira, Jira Cloud
Template
Scheduled KPI Aggregation from Jira and Jira Cloud to Data Warehouse
On a configurable schedule, this template queries open and closed issue metrics from both Jira Server and Jira Cloud, normalizes the results into a common schema, and loads them into a data warehouse or BI tool such as BigQuery, Snowflake, or Google Sheets for unified engineering reporting.
Steps:
- Scheduled trigger fires at a configured interval (e.g., nightly or every four hours)
- JQL queries execute against both Jira Server and Jira Cloud to retrieve issue metrics
- Results are normalized using a field mapping configuration to handle schema differences
- Aggregated records are upserted into the target data warehouse or reporting sheet
Connectors Used: Jira, Jira Cloud
Template
Jira Server Issue Closure → Resolve Linked Jira Cloud Ticket
When an engineering issue in Jira Server is marked Done or Resolved, this template automatically transitions the linked customer-facing or tracking ticket in Jira Cloud to the appropriate resolved state and appends a resolution comment, closing the loop for support and product teams.
Steps:
- Jira Server webhook fires when an issue transitions to a Done or Resolved status
- Tray.ai retrieves the linked Jira Cloud issue key from the cross-reference field
- The Jira Cloud issue is transitioned to the configured resolved status via API
- A resolution summary comment is posted on the Jira Cloud issue for stakeholder visibility
Connectors Used: Jira, Jira Cloud
Template
Cross-Instance Sprint Completion Report
At the end of each sprint in either Jira instance, this template collects sprint metrics — completed stories, carry-over issues, and velocity — from both Jira and Jira Cloud and compiles a unified sprint report delivered to a Confluence page, Slack channel, or email distribution list.
Steps:
- Sprint closed event triggers in either Jira Server or Jira Cloud
- Tray.ai queries both instances for sprint issue data and completion status
- Metrics are calculated and merged into a unified report structure
- The completed report is posted to Confluence, sent to Slack, or emailed to stakeholders
Connectors Used: Jira, Jira Cloud