Jira Release Notes Generator
When a Jira version/release is marked released, the flow gathers all issues in the release, groups them by type (features, fixes, breaking changes), generates formatted release notes, publishes them to SharePoint, and announces to Teams. Automates release-note creation and distribution.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow automates release-note creation and distribution from Jira. On a schedule it gathers every issue in a configured release (project + fixVersion), groups them into Features & Enhancements, Fixes, and Breaking Changes, renders a formatted HTML release-notes document, publishes it to a SharePoint document library, and announces the release to a Microsoft Teams channel.
Why it matters: writing release notes by hand is slow and inconsistent. Generating them straight from Jira guarantees complete, uniform, on-time notes with zero manual effort.
Ships Off (Stopped) as a reference demo. Requires a SharePoint document library for the notes.
Use Case
A delivery team marks a Jira version as released and wants polished release notes produced and distributed automatically - saved to SharePoint for the record and posted to Teams for the team and stakeholders.
Flow Architecture
Daily 08:00 Recurrence
RecurrenceDaily publish window. Jira has no native version-released trigger, so a scheduled poll drives compile-and-publish.
Initialize Config
Initialize variable (x7)Binds Jira instance, project key, release version, notes library, SharePoint site URL, and the Teams group/channel from flowlibs_ env vars.
Initialize Section Accumulators
Initialize variable (x3)Empty string accumulators for the Features, Fixes, and Breaking Changes sections.
Compose Release JQL
ComposeBuilds project = key AND fixVersion = version ORDER BY issuetype ASC, priority DESC.
Get Release Issues
Jira - ListIssuesJQL search returning every issue in the release.
Filter Features
Filter arrayStory / New Feature / Feature / Epic / Improvement.
Filter Fixes
Filter arrayBug / Defect.
Filter Breaking
Filter arrayIssues whose Jira labels contain breaking.
Build Section Rows
Apply to each (x3, sequential)Builds the Features, Fixes, and Breaking Changes list-item rows.
Compose File Name
ComposeDeterministic, timestamped .html file name.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_JiraInstance | String | REPLACE_WITH_JIRA_INSTANCE | Jira site/instance for the X-Request-Jirainstance header. |
| flowlibs_ReleaseProjectKey | String | FLOW | Jira project key whose released version is documented. |
| flowlibs_ReleaseVersion | String | 1.0.0 | Jira fixVersion name that scopes the notes. |
| flowlibs_NotesLibrary | String | /FlowLibs Release Notes Library | Server-relative path of the SharePoint release-notes library. |
| flowlibs_SharePointSiteURL | String | https://your-tenant.sharepoint.com | SharePoint site hosting the library. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team (group) ID for the announcement. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel ID for the announcement. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Jira | shared_jira | ListIssues |
| SharePoint | shared_sharepointonline | CreateFile |
| Microsoft Teams | shared_teams | PostMessageToConversation |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Target a different release
- Set flowlibs_ReleaseProjectKey and flowlibs_ReleaseVersion; the JQL rebuilds automatically.
- Add a release-note gate
- Extend the JQL with AND labels = release-note to include only flagged issues.
- Customer vs internal notes
- Duplicate the Compose + CreateFile pair to emit a customer-facing version into a second library.
- Trigger on actual release
- Replace the Recurrence trigger with a Jira webhook / When a version is released trigger when available; the compile-and-publish body is unchanged.
- Publish elsewhere
- Swap Create Release Notes File for a Confluence or HTTP publish action.
- Email customers
- Add an Outlook SendEmailV2 after the Teams post using the same release-notes HTML body.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Release scope (JQL)
Builds the JQL that scopes the release.
EXPR.02Breaking-change filter
Keeps issues labelled breaking.
EXPR.03Section row
One HTML list item per issue.
EXPR.04File name
Deterministic timestamped file name.
EXPR.05Issue count
Number of issues in the release.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.