Choose an authentication method
Personal access token
Create a dedicated Azure DevOps bot or service-account user and give it access to the organization, projects, or repositories Roomote should use. Create a PAT for that identity with Code read/write permissions appropriate for cloning, branch creation, and commits. Enable Build read access for CI Failure Triage and Work Items read access for work-item comment triggers. Grant Service Hooks read and manage access so Roomote can configure repository, pull-request, work-item, and build event delivery. Save the organization and token in setup, deployment env vars, or local.env.local. Onboarding only asks for those two values by default:
ADO_BASE_URL defaults to https://dev.azure.com. ADO_USERNAME defaults to
ado and is used as the Git-over-HTTPS username paired with the PAT.
Microsoft Entra service principal
Instead ofADO_TOKEN, configure an Entra application that has been added to
the Azure DevOps organization and granted access to the required projects:
ADO_TENANT_ID falls
back to R_MICROSOFT_TENANT_ID when the shared Microsoft tenant is configured.
The service principal must be explicitly added to the Azure DevOps
organization and given an appropriate access level and project permissions.
Service hook webhook secrets are generated automatically when Roomote
configures service hooks. Advanced values remain editable later in Settings →
Source Control.
Required API permissions
Azure DevOps does not use Microsoft Entra application permissions for service principals. Add the service principal to the Azure DevOps organization, assign at least Basic access, and grant the required project and repository permissions in Azure DevOps.Connect with your Microsoft account
Choose Connect with your Microsoft account in setup or Settings to authorize the Azure DevOps account that should own the deployment connection. Roomote stores the linked account reference with the deployment and refreshes its short-lived Entra access token as needed. The Entra client ID, client secret, and tenant ID are still required so Roomote can refresh the connection in background jobs. This mode uses the same app registration. Grant the linked user the required Azure DevOps organization, project, and repository access. Add the web redirect URI shown by Roomote to the app registration:Sync repositories
After the Azure DevOps values are available, open Settings, go to the Environments page, and use the Source Control section’s Azure DevOps sync button. Roomote lists repositories from:ADO_TOKEN into task shells.
Service hooks and automations
When Azure DevOps repositories are mapped into environments, Roomote ensures service hooks for:- pull request created/updated and PR comments (Review Code and task follow-up)
- work item commented (
@roomoteon work items) - build completed (CI Failure Triage on failed default-branch builds)
Current limits
Classic TFVC repositories and non-Git build repository types are not triaged. CI Failure Triage only investigates failed builds on each repository’s default branch, one active investigation per repository.Verify setup
- sync Azure DevOps repositories from Settings
- create or update an environment from a synced repository
- start a small task and confirm Roomote can clone the repository
- confirm Roomote can push a branch when the task produces changes
- optionally enable CI Failure Triage and push a default-branch commit that fails CI to confirm a triage task starts