Skip to main content
Skip table of contents

Azure DevOps Discovery

Azure DevOps can also be discovered, adding valuable tasks to correlate organisational policies, pipeline failires, and code changes with other infrastructure in your environment.

Authentication Methods

The Azure DevOps indexer supports four authentication methods, tried in order of preference:

Personal Access Token (PAT) - Recommended for Development

Best for: Local development, testing, individual developer use

Kubernetes Secret (Recommended for Production PAT Usage)

CODE
cloudConfig:
  azure:
    devops:
      organizationUrl: "https://dev.azure.com/your-organization"
      patSecretName: "azure-devops-pat"

Supported secret keys: personalAccessToken, pat, token, or access_token

Direct Configuration (Development Only)

CODE
cloudConfig:
  azure:
    devops:
      organizationUrl: "https://dev.azure.com/your-organization"
      personalAccessToken: "your-personal-access-token"

Service Principal - Recommended for Production

Best for: Production environments, CI/CD pipelines, enterprise deployments

CODE
cloudConfig:
  azure:
    tenantId: "your-tenant-id"
    clientId: "your-client-id"
    clientSecret: "your-client-secret"
    devops:
      organizationUrl: "https://dev.azure.com/your-organization"

DefaultAzureCredential - Automatic Fallback

Best for: Azure-hosted environments, Azure CLI users

No additional configuration needed. Uses:

  • Azure CLI login (az login)

  • Managed Identity (when running in Azure)

  • Environment variables


Indexed Resources and Hierarchical Structure

The Azure DevOps indexer discovers and indexes resources with a clear hierarchical structure:

Resource Hierarchy

All resources follow the pattern: {organization}/{project}/{resource} (or {organization}/{project} for projects, or {organization} for organizations)

Examples:

  • Organization: your-organization

  • Project: your-organization/your-project

  • Repository: your-organization/your-project/your-repository

  • Pipeline: your-organization/your-project/your-pipeline

  • Release: your-organization/your-project/your-release

Organizations

  • Properties: name, url, organization

  • Qualified Name: {organization_name}

  • Relationships: Contains projects

  • Use Case: Organization-level health monitoring and governance

Projects

  • Properties: id, name, description, state, revision, url, visibility, organization

  • Qualified Name: {organization}/{project_name}

  • Relationships: Contains repositories, pipelines, and releases

Repositories

  • Properties: id, name, url, default_branch, size, remote_url, organization

  • Qualified Name: {organization}/{project_name}/{repository_name}

  • Relationships: Belongs to a project

Pipelines

  • Properties: id, name, url, revision, organization

  • Qualified Name: {organization}/{project_name}/{pipeline_name}

  • Relationships: Belongs to a project

Releases

  • Properties: id, name, url, revision, organization

  • Qualified Name: {organization}/{project_name}/{release_name}

  • Relationships: Belongs to a project

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.