This repository contains utility scripts for generating reports about Apache Maven repositories.
Export all open pull requests from Apache Maven repositories to CSV format with build status.
-
Python 3
-
GitHub CLI (
gh) installed and authenticated-
The script uses
ghCLI which respects theGH_TOKENorGITHUB_TOKENenvironment variables -
You can authenticate using:
gh auth loginor by setting the environment variable:export GH_TOKEN=your_github_token_here
-
scripts/export_maven_prs.pyThis will:
-
Fetch all open PRs from ~62 Apache Maven repositories
-
Extract overall build status from all CI/CD checks (GitHub Actions, Jenkins, etc.)
-
Generate links to GitHub PR checks pages showing all build results
-
Export to CSV file at
/tmp/maven_open_prs.csv
scripts/export_maven_prs.py --format asciidocExports to AsciiDoc format at /tmp/maven_open_prs.adoc
scripts/export_maven_prs.py --format csv --output /path/to/output.csv
scripts/export_maven_prs.py --format asciidoc -o /path/to/output.adocscripts/export_maven_prs.py --dependabot --format asciidocShows only PRs created by DependaBot (author: app/dependabot)
-
Repository - The Maven repository name
-
PR Number - Pull request number
-
Title - PR title
-
Author - GitHub username of PR author
-
Created - Creation date (YYYY-MM-DD)
-
Updated - Last update date (YYYY-MM-DD)
-
Draft - Whether PR is in draft state (Yes/No)
-
Build Status - Overall CI/CD build status from all checks (SUCCESS, FAILURE, PENDING, UNKNOWN)
-
Build URL - Link to GitHub PR checks page showing all build results (GitHub Actions, Jenkins, etc.)
-
Labels - Comma-separated list of PR labels
-
PR URL - Link to the pull request
The AsciiDoc format generates a table with the following columns:
-
Title - PR title
-
Date - Creation date (ISO 8601 format)
-
Build Status - Overall CI/CD status with clickable link to GitHub checks page (showing all GitHub Actions, Jenkins, and other checks)
-
Id - PR number with link to the PR
PRs are grouped by repository, with repository names as clickable links to the repository’s pull requests page. PRs within each repository are sorted by creation date (newest first).
The script will show progress and statistics:
Fetching open PRs from Apache Maven repositories... Fetching PRs from maven... Found 84 open PRs ... ============================================================ Total Maven PRs found: 536 ============================================================ Exported to: /tmp/maven_open_prs.csv PRs by build status: SUCCESS: 274 FAILURE: 86 UNKNOWN: 165 ... PRs by repository: maven: 84 maven-surefire: 39 maven-shade-plugin: 32 ...