Skip to content
generated from ajndkr/uv-boilerplate

generate weekly reports of all code changes in a github repository

License

Notifications You must be signed in to change notification settings

ajndkr/pr-pulse

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

pr-pulse

generate weekly reports of all code changes in a github repository.

List command output
List Command: Tabular view of merged PRs
Detail command output
Detail Command: Complete information about a specific PR
Summary command output
Summary Command: Overview of recent pull requests
Report command output
Report Command: AI-generated summary of PR activity

usage

basic example

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"

input parameters

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.

getting started (local development)

pre-requisites

init project

make init

to run pre-commit checks, run:

make ci

run commands

run the following to view the list of available commands:

make run

project roadmap

phase 1

  • 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

phase 2

to be continued...