Automated GitHub Release Note Generator and Slack Notifier - n8n Workflow

Generate professional GitHub release notes automatically using this n8n workflow template. Groups merged PRs by label, creates draft releases, and sends structured notifications via Slack. Optimize your DevOps pipeline with n8n.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • DevOps Engineers and Release Managers looking to automate release processes.

  • Software Development Teams seeking efficient change compilation.

  • Users needing robust n8n templates for complex multi-step API integrations.

  • Developers utilizing GitHub tags and pull request labeling for change management.

Overview

Manually compiling release notes from dozens or hundreds of merged pull requests (PRs) is time-consuming and prone to errors. This powerful n8n workflow template solves this problem by creating an automated, repeatable process. The n8n workflow initiates via a manual form trigger, gathers the necessary repository information, and leverages the GitHub API to identify all changes merged since the last production release tag. Crucially, a specialized Code n8n node analyzes PR labels, grouping them logically (e.g., Features, Bug Fixes) before formatting the output into clean Markdown. The workflow concludes by creating a draft release on GitHub and sending the complete summary and URL to a designated Slack channel, making this an essential n8n node sequence for modern CI/CD practices. This specific n8n workflow ensures accuracy and speed in your release cycle.

How it Works

The process begins with the GitHub Release Input Form n8n trigger, where the user provides the repository owner, name, and target branch. The Config n8n node then initializes these variables and defines the labelMap—a critical component for grouping PRs by label (e.g., mapping 'bug' to '🐞 Bug Fixes').

The n8n workflow proceeds to use the GitHub API via two HTTP Request n8n node instances: one to fetch the latest Git tag, and a second to retrieve the exact commit timestamp associated with that tag. This timestamp serves as the cut-off point.

Next, the Fetch All Merged PRs Since Last Tag n8n node queries the GitHub Search API, ensuring only PRs merged after the last release date are included. The core logic resides in the Adjusted: Group PRs & Generate Release Notes Code n8n node, which consumes the list, applies the categorization logic defined in the Config n8n node, and outputs structured Markdown release notes, including a pre-defined QA Checklist.

Finally, the Github Pre Release HTTP Request n8n node creates a draft release on the target repository using the generated notes, and the final Send message to slack n8n node broadcasts the news and the release URL to the team, completing the entire n8n workflow execution.

Installation Guide


  1. Import the n8n workflow: Copy the provided JSON and paste it into your n8n instance using the 'New' button -> 'Import from JSON'.

  2. Set up Credentials: This n8n workflow requires two main credentials:

a. GitHub API (for reading tags): Configure a GitHub API credential (likely using a Personal Access Token).
b. Header Auth (for creating release): Configure a Generic HTTP Header Auth credential for GitHub. This will typically use Authorization: Bearer for API access when creating the release.
c. Slack Webhook: The final Send message to slack n8n node needs configuration with your Slack Incoming Webhook URL to post messages.

  1. Configure the Config n8n node: Review the labelMap and qaChecklist within the Set n8n node to match your project's labeling conventions.

  2. Execute: Run the n8n trigger form and input your repository details to test the end-to-end automation.

Node Details


  • GitHub Release Input Form (Form Trigger n8n node):

- Function: Serves as the manual n8n trigger, collecting required input fields: Repository Name, Repository Owner, and Branch Name.
- Key Configuration: Defines required fields used throughout the n8n workflow to construct API URLs.

  • Config (Set n8n node):

- Function: Stores incoming form data as variables (repoOwner, repoName) and defines static configuration maps, notably labelMap for PR categorization (e.g., "Feature": "🚀 Features") and qaChecklist.

  • Get Latest Git Tag (HTTP Request n8n node):

- Function: Uses the GitHub API to fetch the list of tags, returning the latest one. This n8n node is vital for determining the starting point of the new release cycle.

  • Fetch All Merged PRs Since Last Tag (HTTP Request n8n node):

- Function: Performs an advanced search query on the GitHub Issues API to retrieve all merged PRs on the specified branch, merged after the latest tag's commit date.

  • Adjusted: Group PRs & Generate Release Notes (Code n8n node):

- Function: The processing heart of this n8n workflow. It uses JavaScript to iterate over the PRs, match labels against the labelMap, group them into Markdown sections, and output a structured release note body.

  • Github Pre Release (HTTP Request n8n node):

- Function: Creates a draft GitHub Release using the POST method, including the latest tag name and the full Markdown release notes generated by the previous n8n node. Requires appropriate GitHub PAT authorization.

  • Send message to slack (HTTP Request n8n node):

- Function: Sends the generated release notes and the newly created GitHub release URL to a specified Slack channel via webhook.

Related n8n Workflows

Free

Nodes: 5 Nodes
Updated: December 26 2025
View all
Created by

A Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.

Featured*