FAQ
Does BranchDeploy work with GitHub or Bitbucket?
No. BranchDeploy only supports Azure DevOps organisations using Azure Repos and Azure Pipelines.
GitHub Actions, Bitbucket Pipelines, and Jenkins are not supported.
Does BranchDeploy store my credentials or personal access token?
For the core flow — deploying from a work item in the extension — no. BranchDeploy uses your existing Azure DevOps browser session and never asks for a PAT.
If you enable the Teams bot (Pro) or connect an AI assistant (MCP) (any plan; deploying from it is Pro), a workspace admin saves one Personal Access Token on the account page. There’s no browser session in those headless contexts, so Teams uses the PAT to resolve work item branches and MCP uses it to resolve branches and queue pipelines. The PAT is encrypted at rest and never exposed back to clients.
One PAT serves the whole workspace. We recommend creating it from a service account: otherwise every Teams and AI deploy shows in Azure DevOps as the person the PAT belongs to, and stops working if they leave.
Does everyone need their own MCP API key?
Yes, if they use an API-key client such as Claude Code, Cursor or GitHub Copilot. Each member generates their own key on the Credentials tab. A key acts as the person who made it: it can only do what their role allows, deployments it queues are recorded under their name, and it stops working if they leave the workspace. Admins can see and revoke every member’s key. ChatGPT and Claude’s apps sign in instead, so they don’t need a key.
How do I upgrade to Pro?
Install the free extension first. Then open Project Settings → BranchDeploy in Azure DevOps and click Upgrade to Pro. Sign in to BranchDeploy and connect your organisation. Existing customer accounts with established ownership can continue to checkout without another PAT or verification step. A first-time organisation claim requires proof of Azure DevOps administration before a billing member can start Stripe checkout. The extension detects your activated subscription the next time you open its settings.
What happens if I have two branches linked to the same work item?
BranchDeploy shows a picker so you can select which linked branch or pull request to deploy.
Can I link a work item with a commit message?
Yes. Put the work item ID in the commit message (for example Fix basket rounding #1234) and Azure DevOps links that commit to work item 1234. When a work item has only commit links, BranchDeploy finds the branches that contain those commits:
- The default branch (usually
main) is skipped, unless it’s the only branch with the commit. - Only branches that an environment’s branch rules accept are offered.
- If one branch is left, it’s deployed after the usual confirmation. If several are left, you choose from a list, closest to your commit first.
A linked branch or pull request always wins over commit links.
What happens if a PR and a branch are both linked?
BranchDeploy uses the PR source branch and ignores separate branch refs. A PR is treated as the stronger signal.
Does a hold stop other people deploying?
No. A hold is a request, not a lock: it tells teammates you’re using an environment, until when and why. Anyone deploying there sees it in the confirmation and can still go ahead. Holds end on their own when the time runs out. See Environments and holds.
Can I hold an environment when I deploy?
Yes, on Pro. Tick Hold UAT after deploying in the deploy confirmation, choose how long and optionally add a reason. The hold is only placed if the deploy is queued.
Do the environments board and work item Deployments group need a BranchDeploy account?
No. Both read your Azure Pipelines run history and your BranchDeploy settings, which live in Azure DevOps. They work on the free plan without an account. Holds need Pro, but they’re stored in Azure DevOps too, not on BranchDeploy’s servers.
Can I deploy to multiple environments from the same work item?
Free tier: One active environment per project. To change the target environment, update the settings page.
Pro tier: Yes. Add as many environments as you need on the Azure DevOps settings page (Add environment). The work-item button, MCP assistants, and the Teams bot all use the same list. When a branch is allowed in more than one environment, BranchDeploy asks which one to deploy to. See Multiple environments.
What pipeline permissions does BranchDeploy need?
For the Azure DevOps extension deploy button, BranchDeploy requires:
- Read access to Azure Repos (to look up branches and PRs)
- Queue builds permission on the configured pipeline
No service principal, managed identity, or service account is required for that workflow. BranchDeploy runs as the person clicking the action.
For MCP deployments, the Azure DevOps PAT saved in your BranchDeploy account needs Work Items (Read), Code (Read), and Build (Read & Execute). Add Extension Data (Read) too if you want your assistant to warn you about environment holds. BranchDeploy also uses it to record whether each pipeline run succeeded or failed.
Can I restrict which users can deploy?
Not in BranchDeploy. Use Azure Pipelines Security settings to control who can queue the target pipeline.
Does BranchDeploy work with Azure DevOps Server (on-premises)?
No. BranchDeploy targets the hosted dev.azure.com service only.
Can I use BranchDeploy without linking branches to work items?
No. BranchDeploy deploys from the work item’s Development links: a branch, a pull request, or a commit linked with #1234 in its message. With none of those, there’s nothing to deploy.
Does BranchDeploy support multi-stage pipelines?
Yes. BranchDeploy queues the configured build definition through the Azure DevOps Build Queue API and sets the resolved branch as the run source. That works with classic pipelines and YAML multi-stage pipelines that can be queued from Azure DevOps.
Is there a free trial for Pro?
Not currently. The free tier is permanent; Pro features are paid. See pricing.
How do I cancel a subscription?
Open the Billing tab on your account page and click Manage billing to open the Stripe portal. Pro stays active until the end of the current billing period.
Where is my data stored?
Free tier configuration stays in Azure DevOps Extension Data storage. The extension may send limited anonymous usage telemetry unless it is disabled in Project Settings → BranchDeploy; telemetry excludes repository names, branch names, organisation names, project names, emails, access tokens, commit messages, and pipeline variables.
For Pro, deployment logs are stored on Cloudflare infrastructure in the EU. See the privacy policy.
How do I report a bug or request a feature?
Email support@branch-deploy.dev or open a request on the support page. Include your organisation URL, the error message, and steps to reproduce.