Download the PHP package gizra/robo-release-notes without Composer
On this page you can find all versions of the php package gizra/robo-release-notes. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gizra/robo-release-notes
More information about gizra/robo-release-notes
Files in gizra/robo-release-notes
Package robo-release-notes
Short Description A Robo task for generating release notes from GitHub PRs and issues
License MIT
Informations about the package robo-release-notes
Robo Release Notes
A Robo task for generating comprehensive release notes from GitHub PRs and issues.
Features
- Automatic PR Detection: Extracts pull request numbers from git commit messages using multiple merge strategies
- GitHub API Integration: Fetches detailed information about PRs and their associated issues
- Smart Grouping: Groups pull requests by their related issues for better organization
- Contributor Tracking: Automatically tracks contributors from both PR authors and issue reporters
- Code Statistics: Provides statistics on lines changed and files modified
- Flexible Tag Comparison: Compare from any tag or automatically use the latest tag
- Rate Limiting: Respects GitHub API rate limits with intelligent batching
Installation
Install via Composer:
Usage
Basic Setup
-
Include the trait in your RoboFile.php:
- Set up environment variables:
Command Usage
Generate release notes from the latest tag:
Generate release notes from a specific tag:
Environment Variables
| Variable | Description | Required |
|---|---|---|
GITHUB_ACCESS_TOKEN |
GitHub personal access token with repo access | Yes |
GITHUB_USERNAME |
Your GitHub username | Yes |
To create a GitHub personal access token:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate a new token with
reposcope - Copy the token and set it as an environment variable
Sample Output
How It Works
- Git Analysis: Scans git commits between the specified tag and HEAD
- PR Extraction: Uses regex patterns to extract PR numbers from commit messages
- GitHub API Calls: Fetches detailed PR and issue data from GitHub
- Issue Linking: Automatically links PRs to their associated issues using:
- Closing keywords (fixes, closes, resolves)
- Issue references in PR titles and descriptions
- Issue numbers in branch names
- Data Aggregation: Combines all data into a structured release notes format
Testing
Run the test suite:
Run code style checks:
Fix code style issues:
Requirements
- PHP 7.4 or higher
- Robo 3.0 or 4.0
- cURL extension
- JSON extension
- Git repository with GitHub remote
- GitHub API access
Advanced Configuration
Custom GitHub API Endpoint
For GitHub Enterprise users, you can extend the ReleaseNotesGenerator class and override the githubApiGet method to use a custom API endpoint.
Custom Output Format
You can extend the ReleaseNotesGenerator class and override the displayReleaseNotes method to customize the output format.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
Changelog
See CHANGELOG.md for a complete list of changes.
All versions of robo-release-notes with dependencies
consolidation/robo Version ^3.0|^4.0|^5.0
ext-curl Version *
ext-json Version *