Skip to main content

What it does

Once connected, Decimal:
  • Indexes the repositories you select for code search
  • Searches relevant files when investigating support tickets
  • References specific code in its investigation responses

Before you connect

You’ll need an organization admin account in Decimal and read access to the Azure DevOps repositories you want to connect. This integration supports Azure DevOps Services Git repositories, with one Azure DevOps organization per Decimal organization. Self-hosted Azure DevOps Server is not supported. Use an organization URL such as https://dev.azure.com/your-organization, not a project or repository URL. Choose a service principal with a client secret or an organization-scoped personal access token (PAT). The service principal form does not accept certificates, managed identities, or federated credentials; confirm that your chosen method meets your organization’s policy.

Setting up Azure

Service principal

  1. Register an app in the tenant connected to your Azure DevOps organization, following Microsoft’s app registration guide. Copy the Directory (tenant) ID and Application (client) ID.
  2. Add a client secret under Certificates & secrets → Client secrets, following Microsoft’s credential guide. Copy the secret value, not its ID; the value is shown only once.
  3. Grant repository access: add the service principal in Azure DevOps under Organization settings → Users, with Basic access and Read permission on the intended repositories. Microsoft’s service principal guide covers organization membership and permissions. Registering the app in Entra alone does not grant Azure DevOps access.

Personal access token

In Azure DevOps, open User settings → Personal access tokens → New Token. Select the specific organization, set an expiry date, and grant Code (Read). The token’s owner must already have access to the intended repositories. Copy the token securely; Microsoft’s PAT guide covers creation and expiry management.

Connecting Azure Repos

  1. Open Integrations: go to Settings → Integrations and click Azure Repos under Developer tools.
  2. Enter the organization: in Connection, enter your Azure DevOps organization URL.
  3. Enter credentials: choose the Authentication method. For Service principal, enter the tenant ID, client ID, and client secret value from the setup above. For Personal access token, enter the token.
  4. Connect: click Connect. Decimal verifies that the credentials can list repositories before saving. Check that Status reads Connected, and that Organization and Auth match your intended connection.

Selecting repositories

  1. Choose repositories: in Repositories, search by project or repository name and check the repositories you want indexed. Clear the search to review the full selection; filtering does not remove hidden selections.
  2. Save the selection: click Sync selected (N). Checking a box alone does not save it. Unchecked repositories stop being indexed; saving with no repositories selected stops indexing all Azure Repos repositories.
  3. Verify the selection: after saving, click Refresh and confirm that the intended repositories remain checked.
The Indexed count reflects active selections, not completed indexing jobs. Indexing runs in the background, and this page does not show per-repository progress.
Refresh discards unsaved checkbox changes. Deselecting a repository stops indexing it but does not purge previously indexed content.

Updating credentials

Record the PAT or client secret’s expiry date and replace it before it expires. Decimal refreshes service principal access tokens, but does not renew PATs or client secrets.
  1. Prepare a replacement with the same repository access through your Azure administrator’s normal process.
  2. Update the connection: open Azure Repos → Update credentials, keep the same organization URL, and enter the replacement credential. For a service principal, enter both IDs and the new secret value. Click Save.
  3. Verify access: confirm that Status reads Connected, then refresh the repository list and check the saved selection.
Changing the organization URL connects a different Azure DevOps organization and deactivates selections from the old one. Select repositories again if you intended to switch organizations.

Troubleshooting

If the problem continues, email support with the error, time, and affected project/repository if your policy permits sharing it. Leave PATs and client secrets out of the message.