

How to Route GitHub Bug Reports to Jira with N8n
Automatically create Jira Bug tickets when GitHub issues get labeled 'bug' with mapped severity levels.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams that need custom severity mapping rules or want to avoid monthly automation subscription costs.
Not ideal for
Teams wanting the fastest possible setup or those without technical resources to maintain workflows.
Sync type
real-timeUse case type
notificationReal-World Example
A 20-person startup development team uses this to route GitHub bugs directly to their Jira sprint board. Before automation, product managers manually checked GitHub issues twice daily and copy-pasted bug reports into Jira, often missing severity labels. Now critical bugs automatically get high priority in Jira within 30 seconds of being labeled.
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 n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. 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 | issue.title | |
| Issue Description | issue.body | |
4 optional fields▸ show
| Priority Level | priority |
| Reporter | issue.user.login |
| GitHub URL | issue.html_url |
| Label Names | issue.labels |
Step-by-Step Setup
Dashboard > New workflow
Create New Workflow
Start a new N8n workflow to handle the GitHub-to-Jira integration. This workflow will run whenever a GitHub issue receives a bug label.
- 1Click 'New workflow' from the N8n dashboard
- 2Click the '+' button to add your first node
- 3Name your workflow 'GitHub Bug Router'
Node Library > Triggers > GitHub Trigger
Add GitHub Webhook Trigger
Configure N8n to listen for GitHub issue events. The webhook will fire whenever an issue is labeled, unlabeled, or modified.
- 1Click the '+' button and search for 'GitHub Trigger'
- 2Select 'GitHub Trigger' from the list
- 3Choose 'Issues' as the event type
- 4Set 'Events' to 'labeled'
GitHub Trigger > Credentials > Create New
Connect GitHub Repository
Link your GitHub account and specify which repository to monitor. You'll need a GitHub personal access token with repo permissions.
- 1Click 'Create New' next to Credentials
- 2Enter your GitHub personal access token
- 3Select your target repository from the dropdown
- 4Click 'Save' to store the credential
Node Library > Logic > IF
Add Bug Label Filter
Filter the webhook to only process issues labeled with 'bug'. This prevents non-bug issues from creating Jira tickets.
- 1Add an 'IF' node after the GitHub trigger
- 2Set condition to 'String' comparison
- 3Set Value 1 to '{{ $json.label.name }}'
- 4Set Operation to 'equal' and Value 2 to 'bug'
Node Library > Data > Code
Map Severity from Labels
Extract severity information from GitHub labels to set the appropriate Jira priority. This code node checks for severity labels like 'critical', 'high', 'medium', 'low'.
- 1Add a 'Code' node after the IF 'true' branch
- 2Set the code language to JavaScript
- 3Add logic to check issue labels for severity keywords
- 4Map severity to Jira priority values (1-5 scale)
Node Library > Apps > Jira
Add Jira Node
Configure the Jira integration to create new bug tickets. This node will receive the GitHub issue data and create a corresponding Jira issue.
- 1Add a 'Jira' node after the Code node
- 2Select 'Issue' as the resource
- 3Choose 'Create' as the operation
- 4Set 'Issue Type' to 'Bug'
Jira > Credentials > Create New
Configure Jira Credentials
Connect to your Jira instance using either basic auth or API token. You'll need your Jira domain and user credentials.
- 1Click 'Create New' next to Jira Credentials
- 2Enter your Jira domain (without https://)
- 3Add your email and API token
- 4Test the connection and save
Jira Node > Project Configuration
Select Target Project
Choose which Jira project should receive the bug reports. The project must have Bug issue type enabled.
- 1Select your target project from the Project dropdown
- 2Verify 'Bug' appears in the Issue Type field
- 3Set the default assignee if required by your project
Jira Node > Field Mapping
Map Issue Fields
Connect GitHub issue data to Jira fields. This includes title, description, priority, and any custom fields your project requires.
- 1Set Summary to '{{ $node.GitHub_Trigger.json.issue.title }}'
- 2Map Description to '{{ $node.GitHub_Trigger.json.issue.body }}'
- 3Set Priority to '{{ $node.Code.json.priority }}'
- 4Add Reporter as the GitHub issue author
Jira Node > Description Field
Add GitHub Link
Include a link back to the original GitHub issue in the Jira ticket description. This helps developers jump between systems.
- 1Modify the Description field mapping
- 2Add GitHub issue URL at the bottom
- 3Use '{{ $node.GitHub_Trigger.json.issue.html_url }}' expression
- 4Format with 'GitHub Issue: [URL]' label
Workflow > Execute Workflow
Test the Workflow
Run a test to verify the integration works correctly. You'll manually trigger with sample GitHub data.
- 1Click 'Execute Workflow' button
- 2Choose 'Manual' execution
- 3Provide sample GitHub issue data with bug label
- 4Check that Jira ticket gets created
Workflow Header > Active Toggle
Activate Workflow
Enable the workflow to run automatically on GitHub events. Copy the webhook URL to GitHub repository settings.
- 1Click 'Active' toggle in the top right
- 2Copy the webhook URL from GitHub Trigger node
- 3Go to GitHub repo Settings > Webhooks
- 4Add the N8n webhook URL with 'application/json' content type
Drop this into an n8n Code node.
JavaScript — Code Node// Enhanced severity detection in Code node▸ Show code
// Enhanced severity detection in Code node const labels = $input.first().json.issue.labels.map(l => l.name.toLowerCase()); let priority = 3; // default medium
... expand to see full code
// Enhanced severity detection in Code node
const labels = $input.first().json.issue.labels.map(l => l.name.toLowerCase());
let priority = 3; // default medium
if (labels.some(l => l.includes('critical') || l.includes('p0'))) priority = 1;
else if (labels.some(l => l.includes('high') || l.includes('p1'))) priority = 2;
else if (labels.some(l => l.includes('low') || l.includes('p3'))) priority = 4;
return [{json: {priority, severity_labels: labels}}];Scaling Beyond 100+ bugs/week+ Records
If your volume exceeds 100+ bugs/week records, apply these adjustments.
Add Rate Limit Handling
Include a Wait node with 100ms delay before Jira creation. Jira's API rate limit is 10 requests/second and bulk bug imports can hit this ceiling quickly.
Batch Multiple Labels
Modify the Code node to handle multiple label changes in one execution. GitHub sometimes sends rapid-fire webhook events when users add several labels simultaneously.
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 N8n for this if you need custom severity mapping logic or want to avoid monthly subscription costs. The Code node lets you build complex label-to-priority rules that Zapier can't handle without premium features. N8n also gives you unlimited GitHub-to-Jira workflows on the self-hosted version. Skip N8n if you need this running in 5 minutes — Make's pre-built GitHub/Jira templates are faster to deploy.
This workflow burns 2 executions per bug report (IF node + Jira creation). At 50 bugs/month, that's 100 executions total. N8n cloud's Starter plan ($20/month) includes 5,000 executions, so you're nowhere near the limit. Make would cost $9/month for the same volume but caps at 1,000 operations. Zapier starts at $20/month with a 750-task limit. N8n gives you the most room to grow.
Make beats N8n on the initial setup — its GitHub trigger includes built-in label filtering without needing an IF node. Zapier's Jira integration auto-maps more fields by default, saving configuration time. But N8n wins on flexibility — the Code node lets you implement complex severity detection rules that check multiple labels simultaneously, something Make requires premium routers to accomplish.
GitHub's webhook delivery isn't guaranteed — if N8n is down when the label gets added, the ticket won't get created. Set up webhook retry in your GitHub settings to handle this. Jira's API rate limit is 10 requests/second, so batch processing breaks at high volume. Your workflow will also fail silently if someone deletes the Bug issue type from your Jira project — N8n doesn't validate issue types before execution.
Ideas for what to build next
- →Add Slack Notifications — Send a message to #dev-team when critical bugs get created in Jira, including both GitHub and Jira links.
- →Sync Status Updates — Create a reverse workflow that updates GitHub issue status when Jira ticket moves to Done or Closed.
- →Auto-Assign Based on Components — Use GitHub labels like 'api' or 'frontend' to automatically assign Jira tickets to the right team members.
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