Repository Analytics
Repository analytics helps instructors and graders audit individual student contributions on group assignments by collecting and displaying GitHub activity including commits, pull requests, issues, and comments.Enabling Repository Analytics
To enable repository analytics for an assignment:- Navigate to the assignment settings when creating or editing an assignment
- Check the “Enable repository analytics” option
- Save the assignment
Viewing Repository Analytics
When repository analytics is enabled, a “Repo Analytics” button appears in the submission sidebar for instructors and graders. The analytics dashboard provides two main views:Items View
The Items view displays a detailed table of all repository activity:- Type badges: Commit, Pull Request, Issue, Issue Comment, PR Review Comment
- Title/Message: Commit messages, PR/issue titles with links to GitHub
- Author: GitHub username (mapped to student names when available)
- Date: Activity date
- State: Open/closed status for PRs and issues
- File changes: For commits and PRs, shows files modified with additions/deletions
- Commits
- Pull requests
- Issues
- Issue comments
- PR review comments
Activity Chart
The Activity Chart provides a daily visualization of repository activity over time, showing:- Commits
- PRs opened
- Issues opened and closed
- Issue comments
- PR review comments
Refreshing Analytics Data
Analytics data is automatically refreshed daily at 2:00 AM UTC for active assignments. You can also manually refresh data:- Click the “Refresh” button in the analytics dashboard
- Rate limit: Manual refreshes are limited to once per 10 minutes per repository
- The fetch status indicator shows when data was last updated
Exporting Analytics Data
Click the “Export CSV” button to download all analytics data for external analysis. The CSV includes:- Activity type
- GitHub ID
- Title/message
- Author
- Date
- State
- File changes summary
- Labels (for issues)
- Body preview
- GitHub URL
Linking Rubric Checks to Analytics
Rubric checks can be linked to specific repository analytics KPIs (Key Performance Indicators). When configuring a rubric check, you can assign a KPI category:commits: Track commit activityprs_opened: Track pull requests createdpr_review_comments: Track code review participationissues_opened: Track issues createdissues_closed: Track issue resolutionissue_comments: Track issue discussion participation
How It Works
Repository analytics uses the GitHub API to fetch activity data:- Data Collection: The system fetches issues, pull requests, commits, and comments from the assignment repository
- Incremental Updates: After the initial fetch, subsequent updates only retrieve new activity since the last fetch
- Daily Aggregation: Activity is aggregated by day for the activity chart
- Per-Submission View: Each submission shows analytics for its associated repository
Rate Limiting
To respect GitHub API rate limits:- Manual refreshes are limited to once per 10 minutes per repository
- Automatic daily refreshes are staggered across the 2:00 AM UTC hour
- The system monitors GitHub rate limits and delays processing when necessary
- Bulk operations process repositories in batches of 20
Privacy and Access
- Repository analytics are only visible to instructors and graders
- Students cannot view repository analytics
- Analytics data is scoped to the assignment’s repository
- All data is fetched using the course’s configured GitHub organization