Block a pull request from completing until one or more other pull requests have merged. Zero infrastructure required — the extension runs entirely in the browser using the Azure DevOps Extension Data Service and Status API.
How it works
When you open the Dependencies tab on a PR, the extension:
Loads the list of blocking PRs you have previously configured for this PR.
Checks the current status of each blocking PR via the Azure DevOps REST API.
Posts a pr-dependency/blocking-pr status to the current PR:
Pending — one or more blocking PRs are still open or abandoned.
Succeeded — all blocking PRs have been completed (merged).
Combined with a branch policy (see below), this status prevents the Complete button from being active until all dependencies are resolved.
Step 1 — Install the extension
Install PR Dependency from the Azure DevOps Marketplace into your organisation.
Step 2 — Add a dependency to a PR
Open the pull request you want to block.
Click the Dependencies tab (added by this extension).
In the input box, enter either:
A PR number (e.g. 1234) — looks up the PR in the same repository.
A full Azure DevOps URL — use this for PRs in a different repository or project, e.g. https://dev.azure.com/myorg/myproject/_git/myrepo/pullrequest/1234
Click Add (or press Enter).
The extension validates that the PR exists, saves it as a dependency, and immediately re-evaluates the status. It also automatically creates a conditional branch status-check policy on the target branch if one does not already exist — no manual policy setup required. If the blocking PR is already merged, the status will go straight to Succeeded.
Note: Creating the policy requires the Manage branch policies permission on the repository. If you do not have this permission the dependency is still saved and the status is posted, but the policy must be created manually (see below).
Step 3 — Monitor and resolve
Each blocking PR is shown as a row in the Dependencies tab with a status badge:
✓ green — completed (merged).
⏳ blue — still open.
✕ grey — abandoned.
! red — could not be loaded (e.g. permissions issue or PR deleted).
A banner at the top shows the overall status posted to the PR.
Use the ↻ button to re-evaluate at any time.
Once all blocking PRs show ✓, the status becomes Succeeded and the Complete button is unblocked.
To remove a dependency, click the × button on its row.
Notes
The status is re-evaluated every time the Dependencies tab is opened, so no background service or webhook is required.
The branch policy is created as conditional (applicability: 1), meaning it only activates for a specific PR once that PR has a pr-dependency/blocking-pr status posted against it. PRs with no dependencies are unaffected.
The policy is only created once per target branch. Subsequent calls from the same or different PRs skip creation if a matching policy is found.
If you need to set the policy up manually (e.g. due to missing permissions), go to Project Settings → Repositories → [your repo] → Policies, select the target branch, add a Status policy with genre pr-dependency, name blocking-pr, and set applicability to Conditional.
Dependency data is stored per PR using the Azure DevOps Extension Data Service and is visible to all contributors with access to the PR.
Blocking PRs from other repositories or projects in the same organisation are supported via full URL.