Why Preparing Release Notes Still Is a Cumbersome Task?
Every engineering team eventually reaches the same point before a release.
Someone has to answer a seemingly simple question: "What changed?"
Unfortunately, answering that question is rarely simple.
Developers begin searching merged pull requests. Someone opens Jira to understand the business context. Another engineer scans commit messages. Product managers ask for customer-friendly summaries. QA wants a technical changelog. Leadership wants release highlights.
The information already exists—it is simply scattered across multiple systems. The result is a manual process that often takes hours before every release.
The Problem
A typical release note preparation looks something like this:
- Search merged Pull Requests
- Read every PR description
- Open corresponding Jira stories
- Understand business requirements
- Read commit history
- Group related features
- Rewrite technical language for business users
- Prepare release documentation
The larger the release, the longer this process becomes. Ironically, none of this work creates software. It is documentation built from information that already exists.
What If the Agent Did the Context Gathering?
Instead of asking an engineer to manually assemble release notes, I wanted an AI agent that could automatically collect all the necessary context.
The workflow becomes:
Merged Pull Requests
│
▼
GitHub CLI
│
▼
Linked Jira Stories
│
▼
Acceptance Criteria
│
▼
AI Analysis
│
▼
Customer Release Notes/ Engineering Changelog/ Internal Summary
The engineer simply specifies the release range. The agent performs the rest.
Building the AI Release Notes Agent
The implementation follows the same design philosophy introduced in the previous article. I highly recommend looking up the article.
Instead of creating custom integrations everywhere, the agent orchestrates existing developer tools.
Current implementation:
- GitHub CLI
- GitHub Copilot CLI
- Jira REST API
- Python 3.11+
High-Level Architecture And Design
Engineer
│
▼
Release Notes Agent
┌───────────┼──────────────┐
│ │ │
▼ ▼ ▼
GitHub CLI Jira REST API Copilot CLI
│ │ │
└───────────┼──────────────┘
│
▼
Customer Release Notes
Engineering Changelog
Internal Release Summary
What Information Does the Agent Collect?
Unlike a traditional script that simply concatenates commit messages, the agent gathers context from multiple sources.
From GitHub:
- Pull Requests
- Merge commits
- Changed files
- Authors
- Labels
From Jira:
- Story descriptions
- Acceptance criteria
- Business requirements
- Epic information
This richer context allows the generated release notes to describe why features were implemented rather than simply what files changed.
Leveraging GitHub CLI
The implementation relies heavily on GitHub CLI.
For example,
Retrieve merged pull requests:
gh search prs --state merged
Retrieve PR information:
gh pr view
Retrieve commits:
gh pr view --json commits
GitHub CLI handles authentication and repository context, allowing the Python code to remain focused on orchestration.
Agent Workflows
I designed the agent to generate multiple types of Release Notes.
One of the biggest advantages of using AI is that the agent can produce multiple outputs tailored to different audiences in the same release.
Customer Release Notes
Designed for end users.
Example:
Added support for configurable notification preferences.
Improved dashboard performance for large datasets.
Resolved intermittent login issues affecting SSO users.
Engineering Changelog
Designed for developers.
Includes:
- PR numbers
- Technical implementation
- Breaking changes
- Dependency updates
Internal Management Summary
Focused on delivery.
Example:
- 24 Pull Requests merged
- 18 Jira stories completed
- 2 Bug fixes
- 4 Enhancements
- No breaking changes
Expected Output Structure
Executive Summary
New Features
Enhancements
Bug Fixes
Performance Improvements
Breaking Changes
Known Limitations
Deployment Notes
Why This Is Better Than Commit Messages
Commit messages are written for developers. Release notes are written for people. Those are fundamentally different audiences. Instead of exposing implementation details, AI can rewrite technical work into language that customers, product managers, QA teams, and leadership can immediately understand.
Why I Consider This an Agent
Today, many applications wrap an LLM and call it an "AI Agent." I think the definition should be a little stricter.
A useful engineering agent should be able to:
Gather information independently
Invoke external tools
Combine information from multiple systems
Make workflow decisions
Produce meaningful outputs without requiring constant human guidance
This project isn't just sending prompts to an LLM. It's orchestrating GitHub, Jira, and Copilot into a workflow that removes repetitive engineering work.
That, to me, is where agents become genuinely useful.
Security Considerations
The current implementation follows the same guardrails as the Pull Request Review Agent.
- Read-only GitHub operations
- Read-only Jira queries
- No automatic repository writes
- Temporary file cleanup
- Explicit report generation
The agent never modifies source code or deployment artifacts.
Future Enhancements
This is only the first iteration.
Future improvements include:
- Automatic release detection
- Slack announcements
- Confluence publishing
- Markdown generation
- PDF release reports
- Email distribution
- Semantic grouping of related features
- Multi-repository release aggregation
Looking Ahead
Over the next several articles in this series, we'll continue building practical engineering agents to automate other parts of the software development lifecycle, including:
From Jira Story to the First Pull Request
The goal isn't to replace engineers. It's to eliminate repetitive work so engineers can spend more time solving meaningful problems.
If you're building similar workflows—or have ideas for engineering tasks that could be automated—I'd love to hear about them in the comments.
About the Author
|
Hi, I'm Nachiket Joshi. I'm a software engineer focused on AI systems, distributed platforms, and developer productivity workflows. I share practical implementations of AI-powered engineering systems. |
Top comments (0)