Back to Catalog

Auto-create GitHub PRs & JIRA updates from git commit commands (multi-repo)

Intuz Intuz
347 views
2/3/2026
Official Page

This n8n template from Intuz provides a complete and automated solution for scaling your DevOps practices across multiple repositories.

Are you tired of the repetitive dance between git push, creating a pull request in GitHub, updating the corresponding task in JIRA, and then manually notifying your team in Slack, or Notion?

This template puts your entire post-commit workflow on autopilot, creating a seamless and intelligent bridge between your code and your project management.

By embedding specific keywords and a JIRA issue ID into your git commit commands, this workflow automatically creates a Pull Request in the correct GitHub repository and updates the corresponding JIRA ticket. This creates a complete, centralized system that keeps all your projects synchronized, providing a massive efficiency boost for teams managing a diverse portfolio of codebases.

Who This Template Is For?

This template is a must-have for any organization looking to streamline its software development lifecycle (SDLC). It’s perfect for:

  • Development Teams: Eliminate tedious, manual tasks and enforce a consistent workflow, allowing developers to stay focused on coding.
  • DevOps Engineers: A ready-to-deploy solution that integrates key developer tools without weeks of custom scripting.
  • Engineering Managers & Team Leads: Gain real-time visibility into development progress and ensure processes are followed without constant check-ins.
  • Project Managers: Get accurate, automatic updates in JIRA the moment development work is completed, improving project tracking and forecasting.

Step-by-Step Setup Instructions

Follow these steps carefully to configure the workflow for your environment.

1. Connect Your Tools (Credentials)

  • GitHub: Create credentials with repo scope to allow PR creation.
  • JIRA: Create an API token and connect your JIRA Cloud or Server instance.
  • Slack: Connect your Slack workspace using OAuth2.
  • Notion: Connect your Notion integration token.

2. Configure the GitHub Webhook (For Each Repository)

This workflow is triggered by a GitHub webhook. You must add it to every repository you want to automate.

  • First, Save and Activate the n8n workflow to ensure the webhook URL is live.
  • In the n8n workflow, copy the Production URL from the Webhook node.
  • Go to your GitHub repository and navigate to Settings > Webhooks > Add webhook.
  • In the Payload URL field, paste the n8n webhook URL.
  • Change the Content type to application/json.
  • Under "Which events would you like to trigger this webhook?", select "Just the push event."
  • Click "Add webhook." Repeat this for all relevant repositories.

3. Configure the JIRA Nodes (Crucial Step)

Your JIRA project has unique IDs for its statuses. You must update the workflow to match yours.

  • Find the two JIRA nodes named "Update task status after PR" and "Update the task status without PR."
  • In each node, go to the Status ID field.
  • Click the dropdown and select the status that corresponds to "Done" or "Development Done" in your specific JIRA project workflow. The list is fetched directly from your connected JIRA instance.

4. Configure Notification Nodes

Tell the workflow where to send updates.

  • For Slack: Open the two nodes named "Send message in slack..." and select your desired channel from the Channel ID dropdown.
  • For Notion: Open the two nodes named "Append a block in notion..." and paste the URL of the target Notion page or database into the Block ID field.

5. Final Activation

Once all configurations are complete, ensure the workflow is Saved and the toggle switch is set to Active. You are now ready to automate!

Customization Guidance

This template is a powerful foundation. Here’s how you can adapt it to your team's specific needs.

1. Changing the PR Title or Body:

  • Go to the "Request to create PR" (HTTP Request) node.
  • In the JSON Body field, you can edit the title and body expressions. For example, you could add the committer's name ({{$('Webhook').item.json.body.pusher.name }}) or a link back to the JIRA task.

2. Adapting to a Fixed Branching Strategy:

  • If your team always creates pull requests against a single branch (e.g., develop), you can simplify the workflow.
  • In the "Request to create PR" node, change the base value in the JSON body from {{...}} to your static branch name: "base": "develop".
  • You can then remove the base branch logic from the "Commit Message Breakdown" (Code) node.

3. Modifying Notification Messages:

  • The text sent to Slack and Notion is fully customizable.
  • Open any of the Slack or Notion nodes and edit the text fields. You can include any data from previous nodes, such as the PR URL ({{ $('Request to create PR').item.json.body.html_url }}) or the repository name.

4. Adjusting the Commit Regex for Different Conventions:

  • This is an advanced customization. If your team uses a different commit format (e.g., (DEV-123) instead of DEV-123), you can edit the regular expression in the "Commit Message Breakdown" (Code) node. Be sure to test your changes carefully.

5. Adding/Removing Notification Channels:

  • Don't use Notion? Simply delete the two Notion nodes.
  • Want to send an email instead? Add a Gmail or SMTP node in parallel with a Slack node and configure it with the same data.

Connect with us

  • Website: https://www.intuz.com/services
  • Email: getstarted@intuz.com
  • LinkedIn: https://www.linkedin.com/company/intuz
  • Get Started: https://n8n.partnerlinks.io/intuz

For Custom Worflow Automation

Click here- Get Started

Auto-Create GitHub PRs & Jira Updates from Git Commit Commands (Multi-Repo)

This n8n workflow automates the process of creating GitHub Pull Requests (PRs) and updating Jira issues based on specific commands embedded within Git commit messages. It supports multiple GitHub repositories and provides a robust way to link development activities directly to project management tasks.

What it does

This workflow streamlines your development process by:

  1. Triggering on Webhook: Listens for incoming webhook events, typically from a Git provider (like GitHub, GitLab, Bitbucket) when a new commit is pushed.
  2. Parsing Commit Messages: Extracts the commit message and identifies specific commands (e.g., #create-pr, #jira-update) and associated metadata like repository name, branch, and Jira issue keys.
  3. Conditional Logic: Uses an 'If' node to determine if the commit message contains a recognized command for PR creation or Jira updates.
  4. Creating GitHub Pull Requests: If a #create-pr command is found, it constructs and sends an HTTP request to the GitHub API to create a new Pull Request.
  5. Updating Jira Issues: If a #jira-update command is detected, it interacts with the Jira API to update the specified Jira issue(s), potentially transitioning their status or adding comments.
  6. Sending Slack Notifications: Notifies a designated Slack channel about the successful creation of a PR or update to a Jira issue, or if an error occurred.
  7. Handling Errors: Includes a 'Stop and Error' node to catch and report any issues that prevent the workflow from completing successfully, ensuring visibility into failures.
  8. Logging to Notion (Optional/Planned): The workflow includes a Notion node, suggesting a potential future enhancement or current capability to log workflow activities or created PRs/Jira updates into a Notion database for tracking.
  9. Merging Data: A 'Merge' node is present, indicating that different branches of the workflow (e.g., PR creation and Jira update paths) might converge to process or log combined results.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n instance: A running n8n instance.
  • Git Provider Webhook: Access to configure webhooks in your Git repository hosting service (e.g., GitHub, GitLab, Bitbucket) to send commit push events to the n8n webhook URL.
  • GitHub Account & API Token: A GitHub account with appropriate permissions to create Pull Requests and a Personal Access Token (PAT) for API authentication.
  • Jira Software Account & API Token: A Jira Software account with permissions to update issues and an API token for authentication.
  • Slack Account & Webhook/API Token: A Slack workspace and either an incoming webhook URL or a Slack API token to post notifications.
  • Notion Account & API Token (Optional): If utilizing the Notion integration for logging, a Notion account and an API token.

Setup/Usage

  1. Import the workflow: Download the JSON provided and import it into your n8n instance.
  2. Configure Credentials:
    • Set up your GitHub credentials (likely an OAuth2 or API Key credential using a Personal Access Token).
    • Set up your Jira Software credentials (API Token recommended).
    • Set up your Slack credentials (Webhook or API Token).
    • (Optional) Set up your Notion credentials.
  3. Configure the Webhook Trigger:
    • Activate the "Webhook" node and copy its URL.
    • Go to your Git repository settings (e.g., GitHub repository settings -> Webhooks) and add a new webhook.
    • Paste the n8n webhook URL.
    • Configure the webhook to trigger on "push" events.
  4. Customize the Code Nodes:
    • The "Code" nodes will contain the logic to parse commit messages and extract the necessary information for GitHub PRs and Jira updates. You will need to customize this JavaScript code to match your specific commit command formats and desired data extraction.
    • Ensure the code correctly identifies the repository, base branch, head branch, PR title, and Jira issue keys.
  5. Configure HTTP Request (GitHub PR):
    • Update the "HTTP Request" node to point to the correct GitHub API endpoint for creating Pull Requests (POST /repos/{owner}/{repo}/pulls).
    • Ensure the request body is correctly constructed with the extracted PR details.
  6. Configure Jira Software Node:
    • Update the "Jira Software" node to perform the desired actions (e.g., "Update Issue", "Transition Issue") based on the extracted Jira command.
    • Map the input fields to the data extracted from the commit message.
  7. Configure Slack Node:
    • Customize the "Slack" node to send informative messages about the workflow's actions, including links to the created PRs or updated Jira issues.
  8. Activate the Workflow: Once configured, activate the workflow in n8n.

Now, whenever a commit is pushed to your configured repositories with the specified commands in the commit message, the workflow will automatically create GitHub PRs and update Jira issues.

Related Templates

AI multi-agent executive team for entrepreneurs with Gemini, Perplexity and WhatsApp

This workflow is an AI-powered multi-agent system built for startup founders and small business owners who want to automate decision-making, accountability, research, and communication, all through WhatsApp. The β€œvirtual executive team,” is designed to help small teams to work smarter. This workflow sends you market analysis, market and sales tips, It can also monitor what your competitors are doing using perplexity (Research agent) and help you stay a head, or make better decisions. And when you feeling stuck with your start-up accountability director is creative enough to break the barrier 🎯 Core Features πŸ§‘β€πŸ’Ό 1. President (Super Agent) Acts as the main controller that coordinates all sub-agents. Routes messages, assigns tasks, and ensures workflow synchronization between the AI Directors. πŸ“Š 2. Sales & Marketing Director Uses SerpAPI to search for market opportunities, leads, and trends. Suggests marketing campaigns, keywords, or outreach ideas. Can analyze current engagement metrics to adjust content strategy. πŸ•΅οΈβ€β™€οΈ 3. Business Research Director Powered by Perplexity AI for competitive and market analysis. Monitors competitor moves, social media engagement, and product changes. Provides concise insights to help the founder adapt and stay ahead. ⏰ 4. Accountability Director Keeps the founder and executive team on track. Sends motivational nudges, task reminders, and progress reports. Promotes consistency and discipline β€” key traits for early-stage success. πŸ—“οΈ 5. Executive Secretary Handles scheduling, email drafting, and reminders. Connects with Google Calendar, Gmail, and Sheets through OAuth. Automates follow-ups, meeting summaries, and notifications directly via WhatsApp. πŸ’¬ WhatsApp as the Main Interface Interact naturally with your AI team through WhatsApp Business API. All responses, updates, and summaries are delivered to your chat. Ideal for founders who want to manage operations on the go. βš™οΈ How It Works Trigger: The workflow starts from a WhatsApp Trigger node (via Meta Developer Account). Routing: The President agent analyzes the incoming message and determines which Director should handle it. Processing: Marketing or sales queries go to the Sales & Marketing Director. Research questions are handled by the Business Research Director. Accountability tasks are assigned to the Accountability Director. Scheduling or communication requests are managed by the Secretary. Collaboration: Each sub-agent returns results to the President, who summarizes and sends the reply back via WhatsApp. Memory: Context is maintained between sessions, ensuring personalized and coherent communication. 🧩 Integrations Required Gemini API – for general intelligence and task reasoning Supabase- for RAG and postgres persistent memory Perplexity API – for business and competitor analysis SerpAPI – for market research and opportunity scouting Google OAuth – to connect Sheets, Calendar, and Gmail WhatsApp Business API – for message triggers and responses πŸš€ Benefits Acts like a team of tireless employees available 24/7. Saves time by automating research, reminders, and communication. Enhances accountability and strategy consistency for founders. Keeps operations centralized in a simple WhatsApp interface. 🧰 Setup Steps Create API credentials for: WhatsApp (via Meta Developer Account) Gemini, Perplexity, and SerpAPI Google OAuth (Sheets, Calendar, Gmail) Create a supabase account at supabase Add the credentials in the corresponding n8n nodes. Customize the system prompts for each Director based on your startup’s needs. Activate and start interacting with your virtual executive team on WhatsApp. Use Case You are a small organisation or start-up that can not afford hiring; marketing department, research department and secretar office, then this workflow is for you πŸ’‘ Need Customization? Want to tailor it for your startup or integrate with CRM tools like Notion or HubSpot? You can easily extend the workflow or contact the creator for personalized support. Consider adjusting the system prompt to suite your business

ShadrackBy Shadrack
331

Auto-reply & create Linear tickets from Gmail with GPT-5, gotoHuman & human review

This workflow automatically classifies every new email from your linked mailbox, drafts a personalized reply, and creates Linear tickets for bugs or feature requests. It uses a human-in-the-loop with gotoHuman and continuously improves itself by learning from approved examples. How it works The workflow triggers on every new email from your linked mailbox. Self-learning Email Classifier: an AI model categorizes the email into defined categories (e.g., Bug Report, Feature Request, Sales Opportunity, etc.). It fetches previously approved classification examples from gotoHuman to refine decisions. Self-learning Email Writer: the AI drafts a reply to the email. It learns over time by using previously approved replies from gotoHuman, with per-classification context to tailor tone and style (e.g., different style for sales vs. bug reports). Human Review in gotoHuman: review the classification and the drafted reply. Drafts can be edited or retried. Approved values are used to train the self-learning agents. Send approved Reply: the approved response is sent as a reply to the email thread. Create ticket: if the classification is Bug or Feature Request, a ticket is created by another AI agent in Linear. Human Review in gotoHuman: How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up credentials for gotoHuman, OpenAI, your email provider (e.g. Gmail), and Linear. In gotoHuman, select and create the pre-built review template "Support email agent" or import the ID: 6fzuCJlFYJtlu9mGYcVT. Select this template in the gotoHuman node. In the "gotoHuman: Fetch approved examples" http nodes you need to add your formId. It is the ID of the review template that you just created/imported in gotoHuman. Requirements gotoHuman (human supervision, memory for self-learning) OpenAI (classification, drafting) Gmail or your preferred email provider (for email trigger+replies) Linear (ticketing) How to customize Expand or refine the categories used by the classifier. Update the prompt to reflect your own taxonomy. Filter fetched training data from gotoHuman by reviewer so the writer adapts to their personalized tone and preferences. Add more context to the AI email writer (calendar events, FAQs, product docs) to improve reply quality.

gotoHumanBy gotoHuman
353

Automated YouTube video uploads with 12h interval scheduling in JST

This workflow automates a batch upload of multiple videos to YouTube, spacing each upload 12 hours apart in Japan Standard Time (UTC+9) and automatically adding them to a playlist. βš™οΈ Workflow Logic Manual Trigger β€” Starts the workflow manually. List Video Files β€” Uses a shell command to find all .mp4 files under the specified directory (/opt/downloads/单词卑/A1-A2). Sort and Generate Items β€” Sorts videos by day number (dayXX) extracted from filenames and assigns a sequential order value. Calculate Publish Schedule (+12h Interval) β€” Computes the next rounded JST hour plus a configurable buffer (default 30 min). Staggers each video’s scheduled time by order Γ— 12 hours. Converts JST back to UTC for YouTube’s publishAt field. Split in Batches (1 per video) β€” Iterates over each video item. Read Video File β€” Loads the corresponding video from disk. Upload to YouTube (Scheduled) β€” Uploads the video privately with the computed publishAtUtc. Add to Playlist β€” Adds the newly uploaded video to the target playlist. πŸ•’ Highlights Timezone-safe: Pure UTC ↔ JST conversion avoids double-offset errors. Sequential scheduling: Ensures each upload is 12 hours apart to prevent clustering. Customizable: Change SPANHOURS, BUFFERMIN, or directory paths easily. Retry-ready: Each upload and playlist step has retry logic to handle transient errors. πŸ’‘ Typical Use Cases Multi-part educational video series (e.g., A1–A2 English learning). Regular content release cadence without manual scheduling. Automated YouTube publishing pipelines for pre-produced content. --- Author: Zane Category: Automation / YouTube / Scheduler Timezone: JST (UTC+09:00)

ZaneBy Zane
226