Skip to content

feat(analytics): add PR review-engagement metrics endpoint - #81

Open
vedant7007 wants to merge 1 commit into
laypatel13:developfrom
vedant7007:build/pr-review-stats
Open

feat(analytics): add PR review-engagement metrics endpoint#81
vedant7007 wants to merge 1 commit into
laypatel13:developfrom
vedant7007:build/pr-review-stats

Conversation

@vedant7007

Copy link
Copy Markdown

What & why

Closes #80.

review_count is synced from GitHub onto every PR but never aggregated. This surfaces it as review-engagement metrics — distinct from the existing merge-rate/size/stale summary.

Changes

  • backend/app/services/pr_analytics.py — pure get_review_stats(prs): over MERGED PRs, returns merged_prs, reviewed_rate, avg_reviews_per_merged_pr, unreviewed_merged_count. review_count of None treated as 0; empty/no-merged returns a zero shape (no divide-by-zero). Reads the passed-in list — no GitHub/DB calls.
  • backend/app/routers/github.py — new GET /github/pulls/reviews, modeled exactly on /pulls/summary (same auth + per-user query).

Testing

  • backend/tests/test_pr_analytics.py — 4 cases (empty, no-merged, mixed engagement, None review_count). Uses SimpleNamespace, no DB — matching the existing pure-test style.
  • pytest -q8 passed (4 existing + 4 new).

Contributing as part of Elite Coders Summer of Code (ECSoC 2026).

New GET /github/pulls/reviews backed by a pure get_review_stats(prs):
reviewed_rate, avg_reviews_per_merged_pr, unreviewed_merged_count over
merged PRs. Surfaces the synced-but-unaggregated review_count column.
Pure function unit-tested with plain objects.

Closes laypatel13#80
@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

@vedant7007 is attempting to deploy a commit to the clutch Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add PR review-engagement metrics endpoint (/github/pulls/reviews)

1 participant