Skip to content

Support connecting to Azure DevOps (ADO) repositories, not just GitHub #1246

@dvir-ms

Description

@dvir-ms

Feature summary

Add the ability to connect to Azure DevOps (ADO) repositories, not just GitHub.

What problem are you trying to solve?

Most Microsoft employees host their code in Azure DevOps (e.g. *.visualstudio.com / dev.azure.com), not GitHub. Today the app's repository connection / remote-session flow is GitHub-only, so a large internal user base can't use those features against the repos they actually work in. We end up limited to local sessions or have to work around it.

Notably, the underlying Copilot CLI already understands ADO repos — local sessions record host_type: ado and repository: DefaultCollection/<Project>/<Repo> for Azure DevOps clones (remote https://<org>.visualstudio.com/.../_git/<repo>). So the engine works in ADO repos; it's the app's connect/host integration that's missing ADO.

Proposed solution

Let users connect an Azure DevOps account/organization and pick ADO repositories the same way GitHub repos are connected:

  • Support ADO auth (Entra ID / PAT) and org/project/repo selection.
  • Recognize dev.azure.com/{org}/{project}/_git/{repo} and {org}.visualstudio.com remotes.
  • Enable the same repo-bound features (remote sessions, branch awareness, PR context) for ADO repos.

Workflow impact

Unblocks the large population of Microsoft/enterprise users whose primary source host is Azure DevOps, letting them use the app against their real repos instead of GitHub-only.

Installation context

GitHub Copilot desktop app on macOS (Microsoft employee using Azure DevOps msazure.visualstudio.com).

Additional context

  • ADO remotes seen locally: https://msazure.visualstudio.com/DefaultCollection/One/_git/CaseManagement-AuditLogProcessor.
  • Local session metadata already carries host_type: ado and an ADO repository: path, so detection logic largely exists in the CLI.
  • Would also help any team standardized on Azure DevOps, not just Microsoft.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions