Skip to content

stoe/action-reporting-cli

Repository files navigation

action-reporting-cli

test CodeQL publish styled with prettier

CLI to report on GitHub Actions

Usage example

$ npx @stoe/action-reporting-cli [--options]

Required options [one of]

  • --enterprise, -e GitHub Enterprise (Cloud|Server) account slug (e.g. enterprise).
  • --owner, -o GitHub organization/user login (e.g. owner). If --owner is a user, results for the authenticated user (--token) will be returned.
  • --repository, -r GitHub repository name with owner (e.g. owner/repo).

Additional options

  • --token, -t GitHub Personal Access Token (PAT) (default GITHUB_TOKEN).
  • --hostname GitHub Enterprise Server hostname (default api.github.com).
    For example: github.example.com

Report options

  • --all Report all below.
  • --listeners Report on listeners used.
  • --permissions Report permissions values for GITHUB_TOKEN.
  • --runs-on Report runs-on values.
  • --secrets Report secrets used.
  • --uses Report uses values.
    • --exclude Exclude GitHub Actions created by GitHub.
      From https://github.com/actions and https://github.com/github organizations.
      Only applies to --uses.
    • --unique List unique GitHub Actions.
      Possible values are true, false and both.
      Only applies to --uses. Will create an additional *-unique.{csv,json,md} report file.
  • --vars Report vars used.

Report output options

  • --csv Path to save CSV output (e.g. /path/to/reports/report.csv).
  • --json Path to save JSON output (e.g. /path/to/reports/report.json).
  • --md Path to save markdown output (e.g. /path/to/reports/report.md).

Helper options

  • --help, -h Print action-reporting-cli help.
  • --version, -v Print action-reporting-cli version.

Examples

# Report on everything in the `my-enterprise` GitHub Enterprise Cloud account.
# Save CSV, JSON and markdown reports to `./reports/actions.{csv,json,md}`.
$ npx @stoe/action-reporting-cli \
  --token ghp_000000000000000000000000000000000000 \
  --enterprise my-enterprise \
  --all \
  --csv ./reports/actions.csv \
  --json ./reports/actions.json \
  --md ./reports/actions.md
# Report on everything in the `my-org` GitHub organization.
# Save JSON report to `./reports/actions.json`.
$ npx @stoe/action-reporting-cli \
  --token ghp_000000000000000000000000000000000000 \
  --owner my-org \
  --permissions \
  --runs-on \
  --secrets \
  --uses \
  --vars \
  --json ./reports/actions.json
# Report on unique GitHub Actions in the `my-org/myrepo` GitHub repository.
# Exclude GitHub Actions created by GitHub.
# Save CSV report to `./reports/actions.csv`.
$ npx @stoe/action-reporting-cli \
  --token ghp_000000000000000000000000000000000000 \
  --repository my-org/myrepo \
  --uses \
  --exclude \
  --unique both \
  --csv ./reports/actions.csv
# Report on everything in the `my-org` GitHub organization on `github.example.com` GitHub Enterprise Server.
# Save JSON report to `./reports/actions.json`.
$ npx @stoe/action-reporting-cli \
  --hostname github.example.com \
  --token ghp_000000000000000000000000000000000000 \
  --owner my-org \
  --all \
  --json ./reports/actions.json

License

MIT © Stefan Stölzle