

How to Link GitHub Commits to Jira Tickets with Pipedream
Automatically add commit details as comments on Jira tickets when commit messages contain ticket keys.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Real-World Example
A 12-person development team at a fintech startup uses this to track code changes on bug tickets. Before automation, devs manually copied commit hashes into Jira comments, which took 2-3 minutes per commit and often got skipped during crunch time. Now every commit with a ticket key automatically appears as a Jira comment within 10 seconds.
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 Pipedream
Copy the pre-built Pipedream blueprint and paste it straight into Pipedream. 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 Key | issueIdOrKey | |
| Comment Body | body | |
| Commit Message | ||
| Commit Author | ||
| Commit SHA | ||
| Repository Name | ||
2 optional fieldsβΈ show
| Branch Name | |
| Commit Timestamp |
Step-by-Step Setup
Workflows > New > Start from scratch
Create New Workflow in Pipedream
Navigate to pipedream.com and click Workflows in the sidebar. Click the blue New button in the top right. Select 'Start from scratch' when the template picker appears. Name your workflow 'GitHub Commit to Jira Comments' in the workflow title field.
- 1Click Workflows in the left sidebar
- 2Click the blue New button in top right corner
- 3Select 'Start from scratch' from template options
- 4Type 'GitHub Commit to Jira Comments' in the title field
Trigger Step > Choose app > GitHub > New Push
Add GitHub Push Event Trigger
Click the 'Choose app or service' button in the trigger step. Search for 'GitHub' and select it from the results. Choose 'New Push' from the available GitHub events. This trigger fires every time someone pushes commits to your repository.
- 1Click 'Choose app or service' in the trigger box
- 2Type 'GitHub' in the search field
- 3Select 'GitHub' from the dropdown results
- 4Click 'New Push' from the event list
GitHub Trigger > Connect Account
Connect Your GitHub Account
In the GitHub trigger configuration, click 'Connect Account' next to the Account field. A popup will open asking for GitHub authorization. Click 'Authorize Pipedream' to grant access to your repositories. After authorization completes, select your target repository from the Repository dropdown.
- 1Click 'Connect Account' button in the trigger config
- 2Click 'Authorize Pipedream' in the GitHub popup window
- 3Return to Pipedream and refresh if needed
- 4Select your repository from the Repository dropdown
GitHub Trigger > Generate Test Event
Test GitHub Trigger Setup
Click the 'Generate Test Event' button at the bottom of the GitHub trigger step. Pipedream will create a sample push event with realistic commit data. This test data helps you build the rest of the workflow without making actual commits.
- 1Scroll to bottom of GitHub trigger configuration
- 2Click the blue 'Generate Test Event' button
- 3Wait for the test event to populate (takes 3-5 seconds)
- 4Expand the event data to see commit details
Workflow > + > Custom Code > Node.js
Add Code Step to Parse Commit Messages
Click the + button below the GitHub trigger to add a new step. Select 'Custom Code' from the step types. Choose 'Run Node.js Code' as your runtime. This step will extract Jira ticket keys from commit messages using regex pattern matching.
- 1Click the + icon below the GitHub trigger step
- 2Select 'Custom Code' from the step type menu
- 3Choose 'Run Node.js Code' from runtime options
- 4Name the step 'Parse Commit Messages'
This Node.js code goes in the 'Parse Commit Messages' step to extract Jira tickets and format commit data. Paste it in the code editor after clearing the default template.
JavaScript β Code Stepexport default defineComponent({βΈ Show code
export default defineComponent({
async run({ steps, $ }) {
const commits = steps.trigger.event.commits || [];... expand to see full code
export default defineComponent({
async run({ steps, $ }) {
const commits = steps.trigger.event.commits || [];
const repository = steps.trigger.event.repository.full_name;
const ticketPattern = /\b[A-Z]{2,10}-\d{1,6}\b/g;
const processedCommits = [];
for (const commit of commits) {
const ticketMatches = commit.message.match(ticketPattern);
if (ticketMatches && ticketMatches.length > 0) {
// Remove duplicates and process each unique ticket
const uniqueTickets = [...new Set(ticketMatches)];
for (const ticketKey of uniqueTickets) {
const commentBody = `**Commit by ${commit.author.name}**: ${commit.message}\n\n` +
`**SHA**: \`${commit.id.substring(0, 8)}\`\n\n` +
`**View Changes**: https://github.com/${repository}/commit/${commit.id}`;
processedCommits.push({
ticketKey: ticketKey,
commentBody: commentBody,
commitSha: commit.id,
authorName: commit.author.name,
commitMessage: commit.message,
timestamp: commit.timestamp
});
}
}
}
if (processedCommits.length === 0) {
$.flow.exit('No Jira ticket keys found in commit messages');
}
return processedCommits;
}
});state: {{state}}
html_url: {{html_url}}
Code Step > Editor
Add Commit Parsing Logic
Replace the default code with logic to find Jira ticket keys in commit messages. The code loops through all commits in the push and extracts ticket keys using a regex pattern. Each matching commit gets prepared for sending to Jira with the commit details.
- 1Clear the existing code in the editor
- 2Paste the commit parsing code (see Pro Tip section)
- 3Click 'Test' button to run the code with test data
- 4Verify the parsed output shows ticket keys and commit data
Workflow > + > Jira > Add Comment to Issue
Add Jira Comment Action
Click the + button below the code step to add another step. Search for 'Jira' and select it from the apps list. Choose 'Add Comment to Issue' from the available Jira actions. This action will post the commit details as comments on the matching tickets.
- 1Click + below the code step
- 2Type 'Jira' in the app search field
- 3Select 'Jira Software Cloud' from results
- 4Choose 'Add Comment to Issue' from action list
Jira Step > Connect Account
Connect Your Jira Account
In the Jira step configuration, click 'Connect Account' to authorize Pipedream access to your Jira instance. Enter your Jira site URL when prompted (like yourcompany.atlassian.net). Generate an API token from your Jira account settings and paste it in the authentication form.
- 1Click 'Connect Account' in the Jira step
- 2Enter your Jira site URL (yourcompany.atlassian.net)
- 3Go to Jira > Account Settings > Security > API tokens
- 4Create new token and paste it in Pipedream auth form
Jira Step > Issue Key & Comment Body
Configure Issue Key and Comment Body
Map the Issue Key field to the ticket key extracted from the code step. In the Comment Body field, format the commit information including commit message, author, SHA, and GitHub link. Use the data from previous steps to build a readable comment format.
- 1Click in Issue Key field and select ticket key from code step data
- 2Click in Comment Body field to open the text editor
- 3Format comment with commit message, author, and SHA
- 4Add GitHub commit URL using repository and commit SHA
Workflow > Test Button
Test Complete Workflow
Click the 'Test' button at the top of the workflow to run all steps with the test data. Check that the code step successfully parses commit messages and the Jira step posts comments without errors. Verify the actual Jira ticket received the commit comment.
- 1Click the green 'Test' button in workflow header
- 2Watch each step execute in sequence
- 3Check for green checkmarks on all completed steps
- 4Open the Jira ticket to verify comment was added
Workflow > Deploy
Deploy Workflow
Click the 'Deploy' button to activate the workflow for live events. Once deployed, the workflow will automatically process new GitHub pushes and add comments to matching Jira tickets. The workflow URL appears in the deployment confirmation for webhook setup if needed.
- 1Click the blue 'Deploy' button in workflow header
- 2Confirm deployment in the popup dialog
- 3Wait for 'Deployed' status to appear
- 4Note the webhook URL for GitHub repository settings
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 Pipedream for commit linking if your team writes code in JavaScript/Node.js and wants custom commit parsing logic. The built-in code steps handle complex regex patterns and comment formatting better than visual workflow builders. The webhook processing is instant - commits appear as Jira comments within 10 seconds of push. Skip Pipedream if your GitHub organization restricts third-party webhook access.
Commit linking costs 1 credit per workflow run in Pipedream. At 50 pushes per day (typical for 8-person dev team), you'll use 1,500 credits monthly. That's $15/month on the Developer plan. Zapier charges $20/month for the same volume, and Make costs $9/month but requires 3 separate operations per commit.
Make handles multi-commit pushes more elegantly with its iterator module - you can process 20 commits in one workflow run versus Pipedream's single-record approach. Zapier's GitHub integration captures more webhook events like pull request comments. n8n gives you better commit data filtering with its JavaScript expressions. Power Automate connects directly to Azure DevOps if you're using Microsoft's stack. But Pipedream wins on regex parsing flexibility and custom comment formatting.
You'll hit GitHub's webhook delivery retry logic if your workflow fails repeatedly - GitHub disables webhooks after too many failures. Jira's comment API has subtle formatting differences between Cloud and Server versions. Large pushes (15+ commits) can timeout Pipedream's execution limit, so add commit count limiting in your code step.
Ideas for what to build next
- βAdd Error Handling β Wrap Jira API calls in try-catch blocks to handle invalid ticket keys gracefully instead of failing the entire workflow.
- βFilter by Branch β Modify the trigger to only process commits from main/master branch, ignoring feature branch commits until they're merged.
- βReverse Sync Setup β Create a companion workflow that posts Jira status changes back to GitHub as commit status checks or PR comments.
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