An action for generating reports on how a user or organization (owner
) is using GitHub Actions. It parses the workflows of the default branch and produces JSON report artifact that you may download.
Why? So you can:
- See which actions your org depends on, including versions
- Get a clickable list of all workflows
- Gain insight into what triggers your workflows
- Understand the length and complexity of your workflows
Note: This action is in early stages. Please consider opening an issue for feedback and feature requests. 🙌
on:
workflow_dispatch:
inputs:
owner:
description: 'Owner of actions to retrieve'
required: true
name: Generate report
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: imjohnbo/workflow-reports-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
owner: octocat # user or org, e.g. octocat or octocat-org
on:
# https://crontab.guru/
schedule:
- cron: 0 12 1 * *
name: Generate report
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: imjohnbo/workflow-reports-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
owner: octocat-org # user or org, e.g. octocat or octocat-org
{
workflows: [
{
name: 'My Workflow',
path: 'https://github.com/path/to/my-workflow.yml',
triggers: '"push"',
jobs_count: 1,
steps_count: 1
},
{
name: 'Test Workflow',
path:
'https://github.com/path/to/my-test-workflow.yml',
triggers: {
"pull_request": {
"types": [
"opened",
"reopened"
]
}
}
}
],
actions: {
'actions/checkout@v1': 4,
'octokit/[email protected]': 1,
'./': 1,
'actions/setup-node@v1': 2
}
}
Known limitations:
- Rate limits with
GITHUB_TOKEN
could be a problem when generating a report for a larger organization.- Workaround: use a Personal Access Token or GitHub App installation access token for a higher limit
- Only reports on workflows in the default branch
Pull requests and feature requests welcome! See CONTRIBUTING.md for more.