pr-duration
v1.0.2
Published
Calculate and analyze Pull Request durations and metrics
Downloads
14
Maintainers
Readme
pr-duration
Calculate and analyze Pull Request durations and metrics using GitHub's API. This tool helps you track and analyze the time between when pull requests become ready for review and when they are merged.
Installation
npm install -g pr-durationUsage
pr-duration --org my-org --period 1w --token YOUR_GITHUB_TOKEN
pr-duration --org my-org --repo my-repo --period 3mo --user otherUser --token YOUR_GITHUB_TOKEN
pr-duration --org my-org --start 2022-01-01 --end 2022-01-31 --token YOUR_GITHUB_TOKENOptions
-o, --org <org>: GitHub organization name (required)-r, --repo <repo>: Filter by specific repository (optional)-p, --period <period>: Time period (e.g., '2d' for 2 days, '1w' for 1 week, '3mo' for 3 months, '1y' for 1 year)--start <date>: Start date (YYYY-MM-DD)--end <date>: End date (YYYY-MM-DD)-u, --user <usernames...>: Filter PRs by GitHub usernames (comma-separated list, optional)-t, --token <token>: GitHub personal access token (can also be set via GITHUB_TOKEN env variable)--export <format>: Export data in the specified format (json or csv)
Authentication
You can provide your GitHub token in two ways:
- Via command line option:
pr-duration --org my-org --period 1w --token ghp_your_token_here- Via environment variable:
export GITHUB_TOKEN=ghp_your_token_here
pr-duration --org my-org --period 1wThe command line option takes precedence over the environment variable if both are provided.
Examples
# Get PR stats for all PRs in the last week
pr-duration --org my-org --period 1w --token ghp_your_token_here
# Get PR stats for specific users
pr-duration --org my-org --user johndoe,janedoe --period 1mo --token ghp_your_token_here
# Get stats for all PRs in specific repository
pr-duration --org my-org --repo my-repo --period 3mo --token ghp_your_token_hereRequirements
- Node.js >= 18.0.0
- GitHub Personal Access Token with repo scope
Features
- Calculate average PR review duration
- Filter by organization, repository, and user
- Flexible time period selection
- Export data in JSON or CSV format
- Detailed PR timeline analysis
Libraries Used
- @octokit/rest: GitHub REST API client
- commander: Command-line interface
- parse-duration: Time period parsing
- @json2csv/plainjs: CSV export
License
MIT © Aleksei Sapozhnikov
