generate weekly reports of all code changes in a github repository.
![]() List Command: Tabular view of merged PRs |
![]() Detail Command: Complete information about a specific PR |
![]() Summary Command: Overview of recent pull requests |
![]() Report Command: AI-generated summary of PR activity |
name: weekly-pr-report
on:
schedule:
- cron: "0 8 * * 1" # Runs at 8:00 AM UTC every Monday
jobs:
generate-report:
runs-on: ubuntu-latest
steps:
- name: generate pr report
uses: ajndkr/pr-pulse@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repository: "owner/repo"
days: "7"
command: "summary"
Parameter | Description | Required | Default |
---|---|---|---|
github_token |
GitHub token for repository access | Yes | - |
repository |
Target repository in format owner/repo | Yes | - |
days |
Number of days to look back for PRs | No | 7 |
output_format |
Output format (table or json) | No | table |
verbose |
Show detailed progress logs | No | false |
write |
Write output to a file | No | false |
command |
Command to run (list , detail , summary , report , notify ) |
No | summary |
pr_number |
Pull request number for detail command |
No | - |
api_key |
GEMINI API key for report command |
No | - |
slack_webhook_url |
Slack webhook URL for notify command |
No | - |
input_file |
Input file path for report and notify commands |
No | - |
Note: To create a Slack webhook URL, refer to Slack Incoming Webhooks.
make init
to run pre-commit checks, run:
make ci
run the following to view the list of available commands:
make run
- setup project
- create commands to fetch data from github
- convert project to github action to schedule cron jobs in target repository
- add llm integration to generate weekly report
- add slack integration to send weekly report
to be continued...