Skip to main content

Issues and PRs > Mergeability

Tom Williams avatar
Written by Tom Williams
Updated over a week ago

Dataset: Issues & Pull Requests

Entity: Pull Requests

Field ID: mergeable

Type: Select list

Description: The mergeability state of the pull request. Possible values are:

  • MERGEABLE the pull request can be safely merged

  • CONFLICTING the pull request conflicts with the base branch

  • UNKNOWN the mergeability state cannot be evaluated or is being evaluated

Source: App

Transformation logic: N/A

From:

Github (PRs, Issues)

mergeable:

  • MERGEABLE

  • CONFLICTING

  • UNKNOWN

Gitlab (PRs, Issues)

merge_status:

  • can_be_merged => MERGEABLE

  • unchecked => UNKNOWN

  • cannot_be_merged => CONFLICTING

Bitbucket (PRs, Issues)

Evaluated using the merge status of each file in diffstats.files:

  • All are mergeable => MERGEABLE

  • One is not mergeable => CONFLICTING

  • Diffstat not available => UNKNOWN

Azure DevOps (PRs, Issues)

mergeStatus:

  • conflicts => CONFLICTING

  • failure => CONFLICTING

  • notSet => UNKNOWN

  • queued => UNKNOWN

  • rejectedByPolicy => CONFLICTING

  • succeeded => MERGEABLE

JIRA (Issues)

N/A

ClickUp (Issues)

N/A

Trello (Issues)

N/A

Reporting Use Cases

The Mergeable field is a vital, real-time indicator of a pull request's health, allowing you to proactively identify and manage integration blockers. Its primary use is for filtering and creating high-level KPIs to monitor the overall health of your development pipeline.

  • Filtering for Immediate Action: You can create actionable lists that help developers prioritize their work and keep the pipeline flowing.

    • Find Conflicting PRs: The most critical use case is to build a report of all open pull requests that need immediate attention by using a filter like Mergeable = "CONFLICTING". This allows developers to resolve conflicts before the branch diverges too far from the base.

    • Create a "Ready to Merge" Queue: You can identify pull requests that are fully ready for deployment by combining filters to ensure they meet all criteria: Mergeable = "MERGEABLE" and Review State = "APPROVED" and Build Status = "SUCCESS".

  • Reporting on Pipeline Health: Using Mergeable as a dimension gives you a high-level snapshot of the state of your open pull requests.

    • A pie chart with Mergeable as the dimension and COUNT() as the metric can instantly show you the proportion of your open work that is healthy, blocked by conflicts, or in an unknown state.

  • Custom Formulas for Trend Analysis: You can track the health of your branching and integration strategy over time by creating targeted KPIs.

    • Conflict Rate: Monitor the percentage of open pull requests that are conflicting with a custom formula like ROUND(COUNT_IF(mergeable == "CONFLICTING") / COUNT() * 100, 2). A rising trend in this metric can be an early warning sign that your feature branches are too long-lived or that your team needs to rebase more frequently.

Did this answer your question?