Beginner~8 min setupDeveloper Tools & Project ManagementVerified April 2026
GitHub logo
Jira logo

How to Route Bug Reports from GitHub to Jira with Zapier

Automatically create Jira bug tickets when GitHub issues get labeled 'bug', with severity mapping and correct project routing.

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

Best for

Development teams who want automatic bug ticket creation without writing code and need reliable GitHub-to-Jira routing.

Not ideal for

Teams needing complex conditional logic to route different bug types to multiple Jira projects or custom field transformations.

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 12-person SaaS development team uses this to automatically create Jira tickets when GitHub issues get tagged as bugs during their weekly issue triage. Before automation, the product manager manually created 15-20 Jira tickets weekly, spending 2 hours copying GitHub issue details and often missing severity labels that should set priority.

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

Before You Start

Make sure you have everything ready.

GitHub personal access token with 'repo' scope for the target repository
Jira Software account with issue creation permissions in target project
Jira API token generated from your Atlassian account settings
Bug issue type enabled in your Jira project's issue type scheme
Consistent GitHub labeling strategy for bug severity levels

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Issue Titletitle
Issue Bodybody
Labels Arraylabels
3 optional fields▸ show
Issue URLhtml_url
Repository Namerepository.name
Issue Numbernumber

Step-by-Step Setup

1

Dashboard > Create Zap > GitHub > Issue Labeled

Create New Zap

Start a new automation in Zapier. The trigger will watch for GitHub label changes and the action will create Jira tickets.

  1. 1Click the orange 'Create Zap' button on your dashboard
  2. 2Select 'GitHub' from the app list
  3. 3Choose 'Issue Labeled' as your trigger event
What you should see: You should see the GitHub trigger setup screen with 'Issue Labeled' selected as the event type.
2

Trigger > Account > Sign in to GitHub

Connect GitHub Account

Authenticate with GitHub using a personal access token or OAuth. Zapier needs repo read access to monitor issue labels.

  1. 1Click 'Sign in to GitHub'
  2. 2Select 'Use Personal Access Token' for better reliability
  3. 3Paste your GitHub token with 'repo' scope enabled
  4. 4Click 'Yes, Continue to GitHub'
What you should see: Green checkmark appears next to your GitHub account name in the connection dropdown.
Common mistake — Don't use OAuth for org repos — tokens give more stable access and won't break when team permissions change.
Zapier settings
Connection
Choose a connection…Add
click Add
GitHub
Log in to authorize
Authorize Zapier
popup window
Connected
green checkmark
3

Trigger > Repository

Select Repository

Choose which GitHub repo to monitor for bug labels. You can only watch one repo per Zap.

  1. 1Click the 'Repository' dropdown
  2. 2Select your target repository from the list
  3. 3Leave 'Label' field empty to catch any label addition
What you should see: Repository field shows your selected repo name, Label field remains blank to capture all labeling events.
Common mistake — Setting a specific label here will only trigger on that exact label — leave blank since we'll filter for 'bug' later.
4

Trigger > Test

Test GitHub Trigger

Pull in a recent labeling event to verify the connection works. This gives you sample data for mapping fields.

  1. 1Click 'Test trigger' button
  2. 2Wait for Zapier to fetch recent GitHub events
  3. 3Select a sample issue from the results list
What you should see: Sample data appears showing issue title, body, labels array, and assignee information from a real GitHub issue.
Zapier
▶ Turn on & test
executed
GitHub
Jira
Jira
🔔 notification
received
5

Between steps > Filter

Add Filter for Bug Label

Add a filter step to only continue when the issue contains a 'bug' label. This prevents the Zap from firing on every label addition.

  1. 1Click the + icon between trigger and action
  2. 2Select 'Filter by Zapier' from the tools list
  3. 3Set condition: 'Labels' contains 'bug'
  4. 4Click 'Continue'
What you should see: Filter step shows condition 'GitHub Labels contains bug' in the workflow.
Common mistake — Use 'contains' not 'exactly matches' — GitHub returns labels as an array and exact matching fails.
GitHub
GI
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Jira
JI
notified
6

Action > Jira Software > Create Issue

Add Jira Action

Set up the action to create a new Jira issue. Choose 'Create Issue' to generate bug tickets in your project.

  1. 1Click the action step placeholder
  2. 2Search for and select 'Jira Software'
  3. 3Choose 'Create Issue' as the action event
What you should see: Jira action setup screen appears with 'Create Issue' selected as the event type.
7

Action > Account > Sign in to Jira

Connect Jira Account

Authenticate with your Jira instance using your email and API token. Zapier needs project admin access to create issues.

  1. 1Click 'Sign in to Jira Software'
  2. 2Enter your Jira site URL (yourcompany.atlassian.net)
  3. 3Input your email and Jira API token
  4. 4Click 'Yes, Continue to Jira Software'
What you should see: Connection shows green checkmark with your Jira site URL displayed in the account dropdown.
Common mistake — Use an API token, not your password — Atlassian deprecated basic auth and it will fail randomly.
8

Action > Project and Issue Type

Configure Project and Issue Type

Select your target Jira project and set issue type to Bug. This determines where tickets get created.

  1. 1Select your project from the 'Project' dropdown
  2. 2Set 'Issue Type' to 'Bug'
  3. 3Leave other fields for the next step
What you should see: Project and Issue Type fields show your selections, additional fields appear based on your Jira project configuration.
Common mistake — If 'Bug' doesn't appear in Issue Type, your Jira project doesn't have that issue type enabled in its scheme.
9

Action > Field Mapping

Map Basic Fields

Map GitHub issue data to Jira ticket fields. Use GitHub title and body as the foundation for your bug reports.

  1. 1Set 'Summary' to GitHub 'Title'
  2. 2Set 'Description' to GitHub 'Body'
  3. 3Set 'Reporter' to your Jira username (not GitHub user)
  4. 4Leave 'Assignee' blank for default project assignment
What you should see: Summary and Description fields show mapped GitHub data, Reporter shows your Jira user.
Common mistake — Don't map GitHub assignee to Jira assignee — GitHub usernames don't match Jira accounts and will cause errors.
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
10

Action > Priority

Map Priority from Labels

Create logic to map GitHub severity labels to Jira priority levels. This requires checking for specific labels in the GitHub labels array.

  1. 1Click 'Priority' dropdown
  2. 2Select 'Custom' to enter a formula
  3. 3Enter formula checking for priority labels
  4. 4Set default to 'Medium' if no priority label exists
What you should see: Priority field shows your custom mapping formula with fallback to Medium priority.
Common mistake — Test this mapping thoroughly — wrong priorities can send low-impact bugs to your on-call rotation.
11

Action > Test

Test Complete Workflow

Run the full automation to verify GitHub data creates a proper Jira ticket. Check all mapped fields and priority logic.

  1. 1Click 'Test step' on the Jira action
  2. 2Review the created test ticket in Jira
  3. 3Verify title, description, and priority mapped correctly
  4. 4Delete the test ticket from Jira
What you should see: New bug ticket appears in your Jira project with correct title, description, and priority based on GitHub labels.
12

Top navigation > Publish

Activate Zap

Turn on the automation to start routing live bug reports. The Zap will now monitor your GitHub repo continuously.

  1. 1Click 'Publish Zap' button in the top right
  2. 2Name your Zap something descriptive like 'GitHub Bug Reports to Jira'
  3. 3Confirm activation by clicking 'Turn on Zap'
What you should see: Zap status shows 'On' with a green indicator, and appears in your active Zaps list.
Common mistake — Monitor the first few runs closely — GitHub webhook delays can cause duplicate triggers if someone adds multiple labels quickly.

Drop this into a Zapier Code step.

JavaScript — Code Step{{#each labels}}{{#if_equals name "critical"}}Highest{{else}}{{#if_equals name "high"}}High{{else}}Medium{{/if_equals}}{{/if_equals}}{{/each}}
▸ Show code
{{#each labels}}{{#if_equals name "critical"}}Highest{{else}}{{#if_equals name "high"}}High{{else}}Medium{{/if_equals}}{{/if_equals}}{{/each}}

... expand to see full code

{{#each labels}}{{#if_equals name "critical"}}Highest{{else}}{{#if_equals name "high"}}High{{else}}Medium{{/if_equals}}{{/if_equals}}{{/each}}

Scaling Beyond 100+ bug reports/month+ Records

If your volume exceeds 100+ bug reports/month records, apply these adjustments.

1

Add Delay Steps

Insert 2-3 second delays between GitHub trigger and Jira action to prevent rate limit errors. GitHub's webhook burst can overwhelm Jira's API limits during mass labeling sessions.

2

Use Digest Mode

Switch to scheduled digest if your team does bulk issue labeling. Instead of individual tickets, collect bug reports hourly and create batch summaries to reduce task consumption by 70%.

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 Zapier for this workflow

Use Zapier for this if your team doesn't code and you want setup in under 20 minutes. The guided builder makes field mapping straightforward and the GitHub webhooks fire within 30 seconds of labeling. Skip Zapier if you need complex label-to-priority logic or want to route different bug types to different Jira projects — Make handles conditional routing better with its visual branches.

Cost

This workflow uses 1 task per bug report created. At 50 bug reports monthly, that's 50 tasks total. The Starter plan at $20/month gives you 750 tasks, so you're well covered. Make would cost $9/month for the same volume, and n8n is free for this usage. Make saves you $11/month but Zapier's reliability beats the savings for most teams.

Tradeoffs

Make does conditional project routing better — you can send frontend bugs to one Jira project and backend bugs to another using its visual branches. N8n gives you full JavaScript access for complex label parsing and custom field transformations. But Zapier wins on GitHub webhook reliability and has the most stable Jira integration. Unless you need advanced routing logic, Zapier's simplicity beats the extra features.

You'll hit GitHub rate limits at 200+ issues per hour — add a 5-second delay between actions if you import historical issues. Jira's API returns cryptic account ID errors when user mapping fails, so test assignee logic thoroughly before going live. The biggest gotcha: GitHub sends label events for both additions and removals, so you might create duplicate tickets if someone removes and re-adds the bug label quickly.

Ideas for what to build next

  • Add Slack NotificationsCreate a follow-up Zap that posts to your dev channel when high-priority bug tickets get created, so the team sees critical issues immediately.
  • Sync Status Back to GitHubBuild a reverse sync that updates GitHub issue status when Jira tickets move to 'Done', keeping both systems aligned for product managers.

Related guides

Was this guide helpful?
GitHub + Jira overviewZapier profile →