Skip to main content

Issues and PRs > Suggested Mergers

Tom Williams avatar
Written by Tom Williams
Updated this week

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 FLATTEN function 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 a COUNT() 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.

Did this answer your question?