Dataset: Issues & Pull Requests
Entity: Pull Requests
Field ID: suggested_merger_usernames
Type: List of text values
Description: The list of people's usernames that are suggested to merge this pull request based on historical merge activity. Note that usernames are app-specific. For issues, this field is always set to [].
Source: Calculated
Transformation logic:
Keypup uses a scoring system per project and per user, which is based on the number of pull requests merged and how recent these merges were.
In essence:
Users who merge often on a given repository are more likely to be suggested for pull requests belonging to this repository.
Users who were previously not merging and who started to merge often within the last few weeks are more likely to be suggested.
Users who used to merge often a few months ago but haven’t merged much recently are less likely to be suggested.
From: |
|
Github (PRs, Issues) | Calculated |
Gitlab (PRs, Issues) | Calculated |
Bitbucket (PRs) | Calculated |
Azure DevOps (PRs, Issues) | Calculated |
JIRA (Issues) | N/A |
ClickUp (Issues) | N/A |
Trello (Issues) | N/A |
Reporting Use Cases
The Suggested Mergers field provides a data-driven recommendation on who is best suited to merge a pull request based on historical activity. This makes it a unique tool for analyzing team expertise, identifying knowledge silos, and streamlining the final step of the delivery process.
Filtering and Tracking Merge Responsibilities: You can create reports to see who the system identifies as the key "gatekeepers" for different parts of your codebase.
To see all open pull requests where a specific senior developer is a suggested merger, you can use a filter like
Suggested Mergers contains "senior.dev".Create a personal list of PRs you might be expected to merge with a filter where Suggested Mergers includes me.
Find PRs where no suggestion could be made (perhaps in a new repository) by filtering where
Suggested Mergers length = 0.
Analyzing Merge Workload Distribution: To understand who is most frequently suggested to perform merges, you must use the
FLATTENfunction to analyze each user in the list individually.To create a bar chart showing how many times each person is suggested as a merger, use a custom formula dimension like
FLATTEN(suggested_merger_usernames)with aCOUNT()metric. This quickly highlights your team's 'go-to' experts for merging and can reveal potential process bottlenecks or knowledge silos.
Auditing and Process Improvement: You can audit how often the system's suggestions align with reality by comparing them to the person who actually merged the PR.
A custom formula dimension like
IF(CONTAINS(suggested_merger_usernames, merged_by_username), "Suggestion Followed", "Manual Merge")can reveal whether historical patterns hold true. A high number of "Manual Merges" could indicate a change in team structure or that merge responsibilities are shifting.
