Auto-generate clean, customizable release notes from GitHub commits, pull requests, and issues using a full-stack Spring Boot + React app.
ReleaseNotesGen helps developers, release managers, and teams create structured, readable release notes without manual copy-pasting from GitHub.
🧠 It pulls data directly from public or private GitHub repositories — including commits, issues, and PRs — and formats them into clean Markdown. Custom templates, export options, and label-based mapping are supported.
✅ Connect to any public GitHub repository
✅ Fetch commits, merged PRs, and closed issues by tag or date range
✅ Clean Markdown generation
✅ Web UI with form-based selection
✅ Export as Markdown or PDF (upcoming)
✅ Save templates and notes (MySQL support)
✅ GitHub OAuth login for private repos (planned)
| Layer | Technology |
|---|---|
| Frontend | ReactJS + Tailwind CSS |
| Backend | Spring Boot (Java 17) |
| Database | MySQL |
| APIs Used | GitHub REST API v3 |
- Java 17+
- Node.js 18+
- MySQL 8+
- Git
- GitHub Personal Access Token (optional for rate limits/private repos)
git clone https://github.com/kiranraoboinapally/release-notes-gen.git
cd release-notes-gen/backend-
Create a database:
CREATE DATABASE releasenotes;
-
Copy config file:
cp application.properties.example application.properties
-
Add your GitHub token (optional):
github.api.token=ghp_yourtoken -
Run the backend:
./mvnw spring-boot:run
Runs on: http://localhost:8080
cd ../frontend
npm install
npm startRuns on: http://localhost:3000
- Open
http://localhost:3000 - Enter GitHub repo (
owner/repo) - Select tag or date range
- Click Generate Notes
- View the live preview and export
If you hit API rate limits:
- Go to GitHub → Developer Settings → Tokens
- Generate a token with:
reposcope (for private repos)read:user
- Paste the token into
application.properties
release-notes-gen/
├── backend/
│ └── src/main/java/com/releasenotesgen/
│ ├── controller/ # REST endpoints
│ ├── service/ # GitHub logic, Markdown generation
│ ├── model/ # POJOs (Repo, Commit, Note, etc.)
│ └── config/
│ └── application.properties.example
├── frontend/
│ └── src/components/ # React components
│ └── App.js
├── database/
│ └── schema.sql
├── README.md
├── .gitignore
└── LICENSE
- GitHub public repo integration
- Export to PDF/Markdown
- Custom templates with label mapping
- GitHub OAuth for private repo access
- GitLab support
Pull requests are welcome! Please fork the repo and submit a PR, or open an issue to suggest features.
This project is licensed under the MIT License.
Created by @kiranraoboinapally
For issues or feature requests, use GitHub Issues