FixSense
Integrations

Azure DevOps

Connect FixSense to your Azure DevOps pipelines for automated test failure analysis.

Overview

FixSense supports Azure DevOps alongside GitHub and GitLab. When a Playwright or Cypress pipeline fails on Azure DevOps, FixSense automatically downloads artifacts, parses test results, and delivers AI-powered root cause analysis.

Requirements

  • An Azure DevOps project with Playwright or Cypress tests
  • A Personal Access Token (PAT) with the required scopes
  • Test framework configured to produce JUnit XML or TRX reports
  • CI pipeline configured to publish test results as artifacts

Required PAT Scopes

ScopeAccess LevelPurpose
BuildReadAccess build results and artifacts
CodeRead & WriteRead test files for context, push auto-fix branches
Service HooksRead & WriteRegister webhook for build completion events

Test Reporter Configuration

// playwright.config.ts
export default defineConfig({
  reporter: [
    ['html'],
    ['junit', { outputFile: 'test-results/results.xml' }],
  ],
});

Pipeline Artifact Upload

# azure-pipelines.yml
- task: PublishPipelineArtifact@1
  condition: always()
  inputs:
    targetPath: test-results/
    artifact: test-results

FixSense also parses .trx (Visual Studio Test Results) files natively. If your project uses .NET tests with dotnet test, the default TRX output works automatically.

Setup

Step 1: Sign in with Azure DevOps

Go to the FixSense login page and click Sign in with Azure DevOps. This uses Microsoft OAuth to verify your identity.

Step 2: Connect your project

  1. Open the Setup page
  2. Enter your Organization Name (e.g. my-org)
  3. Enter your Project Name (e.g. my-project)
  4. Enter a Personal Access Token with the scopes listed above
  5. Click Connect Project

FixSense will automatically:

  • Validate the PAT by fetching project information
  • Register Service Hook subscriptions for failed and partially succeeded builds
  • Save the configuration

Step 3: Trigger a build

Push a commit or run a pipeline manually. When a test fails, FixSense will:

  1. Receive the build completion webhook
  2. Download test artifacts from the failed build
  3. Parse JUnit XML or TRX test reports
  4. Run AI analysis on each failure
  5. Post results to the dashboard

Features

All core FixSense features work with Azure DevOps:

FeatureAzure DevOps Support
AI failure analysisYes
Flakiness scoringYes
PR commentsYes (via Git Pull Request Threads API)
Quality gatesYes (via Build Status API)
Slack notificationsYes
DashboardYes
Auto-fix agentYes

Azure DevOps vs GitHub Differences

GitHubAzure DevOps
AuthGitHub App (automatic)PAT (manual)
WebhookAuto-registered by GitHub AppService Hook (auto-registered during setup)
Quality gateChecks API (check run)Build Status API
PR commentsPull Request reviewsPR Thread comments
Artifact formatGitHub Artifacts APIPipeline Artifacts API
Test resultsJUnit XMLJUnit XML or TRX
Auto-fixGitHub Actions workflowAzure Pipelines YAML

Creating a Personal Access Token

  1. Go to dev.azure.com and sign in
  2. Click your profile icon (top right) > Personal access tokens
  3. Click New Token
  4. Set a descriptive name (e.g. "FixSense")
  5. Select the organization your project belongs to
  6. Set expiration (recommended: 90 days or more)
  7. Select the required scopes: Build (Read), Code (Read & Write), Service Hooks (Read & Write)
  8. Click Create and copy the token

Store your PAT securely — Azure DevOps only shows it once. If you lose it, you'll need to create a new one and reconnect in FixSense.

Troubleshooting

"Invalid PAT token or insufficient permissions"

Make sure your PAT has the correct scopes (Build Read, Code Read & Write, Service Hooks Read & Write) and is scoped to the right organization.

"Cannot create Service Hook" error during setup

Your PAT needs the Service Hooks (Read & Write) scope. Some organizations restrict service hook creation — check with your Azure DevOps admin.

No analyses appear after build failure

  1. Check that your pipeline publishes test-results/ as an artifact using PublishPipelineArtifact@1
  2. Verify your test framework config includes a JUnit or TRX reporter
  3. Check that the build completed with Failed or PartiallySucceeded status — builds cancelled before tests run won't trigger analysis
  4. Verify the Service Hook subscription exists: Azure DevOps > Project Settings > Service hooks

Build status shows as succeeded despite test failures

Make sure your test step fails the pipeline when tests fail. In YAML pipelines, don't use continueOnError: true on the test task unless you have a subsequent step that checks the outcome.