

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-timeUse case type
syncReal-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.
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
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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Issue Title | summary | |
7 optional fields▸ show
| Issue Body | description |
| Assignee | assignee |
| Labels | labels |
| Issue Number | |
| Repository Name | |
| Issue URL | |
| Created At | created |
Step-by-Step Setup
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.
- 1Click My flows in the left sidebar
- 2Click + New flow button
- 3Select Automated cloud flow
- 4Enter flow name: GitHub Issue to Jira Sync
- 5Click Create
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.
- 1Click in the trigger search box
- 2Type 'GitHub' and select the GitHub connector
- 3Select 'When an issue is opened' trigger
- 4Sign in to GitHub when prompted
- 5Authorize Power Automate access
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.
- 1Click the Repository dropdown
- 2Select your target repository
- 3Leave other fields at default values
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.
- 1Click + New step
- 2Search for 'Jira'
- 3Select Jira connector
- 4Choose 'Create issue' action
- 5Sign in to Atlassian when prompted
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.
- 1Select target project from Project dropdown
- 2Choose appropriate Issue Type (Task/Bug/Story)
- 3Wait for additional fields to load
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.
- 1Click in Summary field
- 2Select 'Title' from GitHub dynamic content
- 3Click in Description field
- 4Select 'Body' from GitHub dynamic content
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.'
)
)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.
- 1Scroll down to find Assignee field
- 2Click in the Assignee field
- 3Select 'Assignee Login' from GitHub content
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.
- 1Look for Labels field or custom label field
- 2Click in the labels field
- 3Select 'Labels' from GitHub dynamic content
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.
- 1Click three dots on Jira Create issue action
- 2Select Settings
- 3Toggle Configure run after to On
- 4Check both 'is successful' and 'has failed'
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.
- 1Click Save in the top toolbar
- 2Go to your GitHub repository
- 3Create a new issue with all fields populated
- 4Return to Power Automate and check Run history
- 5Verify the flow succeeded and check Jira for the new ticket
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
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.
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.
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 sync — Create a second flow to update GitHub issues when Jira tickets change status.
- →Set up comment synchronization — Sync GitHub issue comments to Jira ticket comments using additional webhooks.
- →Add Slack notifications — Send team notifications when critical issues are synced to Jira.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup