Intermediate~15 min setupDeveloper Tools & Project ManagementVerified April 2026
GitHub logo
Jira logo

How to sync GitHub issues to Jira with Power Automate

Automatically create Jira tickets when GitHub issues are opened, mapping title, description, labels, and assignee across platforms.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Best for

Development teams already using Microsoft 365 who need basic issue synchronization between GitHub and Jira.

Not ideal for

Teams needing bi-directional sync or complex field transformations should use Make or n8n instead.

Sync type

real-time

Use case type

sync

Real-World Example

💡

A 12-person product team uses this to automatically create Jira tickets whenever GitHub issues are filed by their QA team. Before automation, developers manually copied 15-20 issues per week from GitHub to Jira for sprint planning. Now tickets appear in Jira within 30 seconds of GitHub issue creation.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Skip the setup

Import this workflow directly into Power Automate

Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. All modules, filters, and field mappings are already configured — you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

Admin or webhook permissions on the target GitHub repository
Jira project access with permission to create issues
Atlassian account (Jira Cloud) or Jira Server admin access
Microsoft 365 account with Power Automate access

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Issue Titlesummary
7 optional fields▸ show
Issue Bodydescription
Assigneeassignee
Labelslabels
Issue Number
Repository Name
Issue URL
Created Atcreated

Step-by-Step Setup

1

My flows > + New flow > Automated cloud flow

Create new automated cloud flow

Go to make.powerautomate.com and sign in with your Microsoft account. Click My flows in the left sidebar, then + New flow. Select Automated cloud flow from the dropdown. Name your flow 'GitHub Issue to Jira Sync' and leave the trigger selection for the next step.

  1. 1Click My flows in the left sidebar
  2. 2Click + New flow button
  3. 3Select Automated cloud flow
  4. 4Enter flow name: GitHub Issue to Jira Sync
  5. 5Click Create
What you should see: You should see the flow designer with a blank trigger step ready to configure.
2

Flow designer > Choose your flow's trigger

Add GitHub webhook trigger

In the trigger step, search for 'GitHub' and select the GitHub connector. Choose 'When an issue is opened' trigger. If you haven't connected GitHub before, you'll see a sign-in prompt. Use a GitHub account with admin access to your target repository.

  1. 1Click in the trigger search box
  2. 2Type 'GitHub' and select the GitHub connector
  3. 3Select 'When an issue is opened' trigger
  4. 4Sign in to GitHub when prompted
  5. 5Authorize Power Automate access
What you should see: The trigger shows a green checkmark and displays GitHub repository selection fields.
Common mistake — You need admin or webhook permissions on the GitHub repository. Owner/collaborator access isn't enough.
Power Automate
+
click +
search apps
GitHub
GI
GitHub
Add GitHub webhook trigger
GitHub
GI
module added
3

GitHub trigger > Repository selection

Configure repository selection

Select your GitHub repository from the Repository dropdown. Power Automate will automatically create a webhook in your repository pointing to Microsoft's servers. The webhook fires immediately when new issues are created, not on a polling schedule.

  1. 1Click the Repository dropdown
  2. 2Select your target repository
  3. 3Leave other fields at default values
What you should see: Repository field shows your selected repo name and the trigger configuration is complete.
Common mistake — Power Automate creates webhooks automatically, but they don't appear in your GitHub webhook settings. Check the flow run history to verify webhook creation.
4

Flow designer > + New step > Choose an action

Add Jira connection

Click + New step below the GitHub trigger. Search for 'Jira' and select the Jira connector. Choose 'Create issue' action. When prompted to sign in, use your Atlassian account credentials. Power Automate supports both Jira Cloud and Jira Server instances.

  1. 1Click + New step
  2. 2Search for 'Jira'
  3. 3Select Jira connector
  4. 4Choose 'Create issue' action
  5. 5Sign in to Atlassian when prompted
What you should see: Jira action appears with connection established and project selection fields visible.
Common mistake — Atlassian accounts with 2FA require app passwords instead of regular passwords for Power Automate connections.
5

Jira Create issue > Project and Issue Type

Configure Jira project and issue type

Select your target Jira project from the Project dropdown. Choose 'Task' or 'Bug' from the Issue Type dropdown based on your workflow needs. These dropdowns populate dynamically from your Jira instance, so you'll only see projects where you have create permissions.

  1. 1Select target project from Project dropdown
  2. 2Choose appropriate Issue Type (Task/Bug/Story)
  3. 3Wait for additional fields to load
What you should see: Additional Jira fields like Summary, Description appear after selecting project and issue type.
6

Jira Create issue > Summary and Description fields

Map issue title and description

Click in the Summary field and select 'Title' from the GitHub dynamic content panel. For Description, click the field and select 'Body' from GitHub content. The dynamic content panel shows all available fields from the GitHub webhook payload including issue metadata.

  1. 1Click in Summary field
  2. 2Select 'Title' from GitHub dynamic content
  3. 3Click in Description field
  4. 4Select 'Body' from GitHub dynamic content
What you should see: Fields show blue tokens like 'Title' and 'Body' indicating dynamic content mapping.
Common mistake — GitHub issue body can contain markdown formatting that won't render properly in Jira. Consider using a Parse JSON action to clean formatting.

Add this expression in a Compose action between GitHub and Jira to clean up markdown formatting and add GitHub context to the description.

Copy this templateconcat(
▸ Show code
concat(
  'Original GitHub Issue: ', triggerOutputs()?['body/html_url'], 
  char(10), char(10),

... expand to see full code

concat(
  'Original GitHub Issue: ', triggerOutputs()?['body/html_url'], 
  char(10), char(10),
  replace(
    replace(
      replace(
        triggerOutputs()?['body/body'],
        '**', '*'
      ),
      '', '{code}'
    ),
    '##', 'h2.'
  )
)
GitHub fields
title
body
state
html_url
user.login
available as variables:
1.props.title
1.props.body
1.props.state
1.props.html_url
1.props.user.login
7

Jira Create issue > Assignee field

Map assignee field

Scroll to the Assignee field in the Jira action. Click the field and look for 'Assignee Login' in the GitHub dynamic content. This maps the GitHub assignee username to Jira. Note that the GitHub username must match exactly with a Jira user account for this mapping to work.

  1. 1Scroll down to find Assignee field
  2. 2Click in the Assignee field
  3. 3Select 'Assignee Login' from GitHub content
What you should see: Assignee field shows 'Assignee Login' token from GitHub.
Common mistake — If GitHub and Jira usernames don't match exactly, the issue will be created but assignment will fail silently.
8

Jira Create issue > Labels or Custom fields

Handle labels mapping

For labels, click in a Jira Labels field if available, or use a custom field. Select 'Labels' from GitHub dynamic content. GitHub sends labels as an array, but Power Automate handles the conversion automatically. Jira will create new labels if they don't exist in your project.

  1. 1Look for Labels field or custom label field
  2. 2Click in the labels field
  3. 3Select 'Labels' from GitHub dynamic content
What you should see: Labels field shows 'Labels' token and will pass GitHub label names to Jira.
9

Jira action > ... menu > Settings > Configure run after

Add error handling

Click the three dots menu on the Jira action and select Settings. Turn on Configure run after and check 'is successful' and 'has failed'. This ensures the flow continues even if Jira ticket creation fails, preventing GitHub webhook timeouts.

  1. 1Click three dots on Jira Create issue action
  2. 2Select Settings
  3. 3Toggle Configure run after to On
  4. 4Check both 'is successful' and 'has failed'
What you should see: Action shows a parallel path icon indicating it will run regardless of previous step outcomes.
Common mistake — Without error handling, a failed Jira creation will mark the entire flow as failed and may cause webhook retries.
10

Flow designer > Save > Run history

Test the workflow

Save your flow by clicking Save in the top toolbar. Create a test issue in your configured GitHub repository with a title, description, assignee, and labels. Check the flow run history in Power Automate to verify the webhook triggered and the Jira ticket was created successfully.

  1. 1Click Save in the top toolbar
  2. 2Go to your GitHub repository
  3. 3Create a new issue with all fields populated
  4. 4Return to Power Automate and check Run history
  5. 5Verify the flow succeeded and check Jira for the new ticket
What you should see: Flow run shows green success status and a corresponding Jira ticket exists with mapped fields.
Common mistake — Test with a simple issue first. Complex markdown, special characters, or very long descriptions can cause mapping failures.
Power Automate
▶ Test flow
executed
GitHub
Jira
Jira
🔔 notification
received

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy n8n for this workflow

Use Power Automate for this if your team is already deep in the Microsoft ecosystem and you need basic one-way sync without complex transformations. The GitHub connector handles webhooks reliably and Jira integration works well for standard field mapping. However, pick Make if you need bi-directional sync or custom field transformations that require multiple API calls.

Cost

Real math: Power Automate charges per action, so each GitHub issue costs 2 actions (trigger + Jira create). At 100 issues per month, you're looking at 200 actions monthly. The free tier includes 750 actions/month, but paid plans start at $15/month for 1,500 actions. Make handles the same volume for $9/month and includes more sophisticated mapping tools.

Tradeoffs

Make beats Power Automate on complex field mapping and bi-directional sync with its visual data transformation tools and better error handling. Zapier offers more third-party app connectors but charges $30/month for webhook triggers. n8n provides unlimited executions if self-hosted and better code flexibility for custom transformations. Pipedream includes generous free tier limits and better debugging tools. Power Automate wins on Microsoft 365 integration and enterprise compliance features that other platforms can't match.

You'll hit GitHub webhook limits if your repository generates more than 5,000 events per hour - Power Automate doesn't queue webhook retries gracefully. Jira's API occasionally returns success codes for failed ticket creations, leaving you with phantom successes in your flow history. Username mapping breaks silently when team members change GitHub handles but keep the same Jira accounts.

Ideas for what to build next

  • Add reverse syncCreate a second flow to update GitHub issues when Jira tickets change status.
  • Set up comment synchronizationSync GitHub issue comments to Jira ticket comments using additional webhooks.
  • Add Slack notificationsSend team notifications when critical issues are synced to Jira.

Related guides

Was this guide helpful?
GitHub + Jira overviewPower Automate profile →