Skip to content

support-and-care-labs/maven-simple-reports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maven Simple Reports

This repository contains utility scripts for generating reports about Apache Maven repositories.

export_maven_prs.py

Export all open pull requests from Apache Maven repositories to CSV format with build status.

Requirements

  • Python 3

  • GitHub CLI (gh) installed and authenticated

    • The script uses gh CLI which respects the GH_TOKEN or GITHUB_TOKEN environment variables

    • You can authenticate using: gh auth login or by setting the environment variable:

      export GH_TOKEN=your_github_token_here

Usage

Basic Usage (CSV output)

scripts/export_maven_prs.py

This will:

  1. Fetch all open PRs from ~62 Apache Maven repositories

  2. Extract overall build status from all CI/CD checks (GitHub Actions, Jenkins, etc.)

  3. Generate links to GitHub PR checks pages showing all build results

  4. Export to CSV file at /tmp/maven_open_prs.csv

AsciiDoc Output

scripts/export_maven_prs.py --format asciidoc

Exports to AsciiDoc format at /tmp/maven_open_prs.adoc

Custom Output File

scripts/export_maven_prs.py --format csv --output /path/to/output.csv
scripts/export_maven_prs.py --format asciidoc -o /path/to/output.adoc

Filter DependaBot PRs Only

scripts/export_maven_prs.py --dependabot --format asciidoc

Shows only PRs created by DependaBot (author: app/dependabot)

Filter by Author

scripts/export_maven_prs.py --author "someuser"

Command-line Options

  • --format {csv,asciidoc} - Output format (default: csv)

  • --output PATH or -o PATH - Custom output file path

  • --dependabot - Filter to only show DependaBot PRs

  • --author NAME - Filter PRs by specific author

Output Formats

CSV Output Columns

  • 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

AsciiDoc Output Format

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).

Example Output

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
  ...

License

Apache License 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors