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
| Scope | Access Level | Purpose |
|---|---|---|
| Build | Read | Access build results and artifacts |
| Code | Read & Write | Read test files for context, push auto-fix branches |
| Service Hooks | Read & Write | Register 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-resultsFixSense 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
- Open the Setup page
- Enter your Organization Name (e.g.
my-org) - Enter your Project Name (e.g.
my-project) - Enter a Personal Access Token with the scopes listed above
- 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:
- Receive the build completion webhook
- Download test artifacts from the failed build
- Parse JUnit XML or TRX test reports
- Run AI analysis on each failure
- Post results to the dashboard
Features
All core FixSense features work with Azure DevOps:
| Feature | Azure DevOps Support |
|---|---|
| AI failure analysis | Yes |
| Flakiness scoring | Yes |
| PR comments | Yes (via Git Pull Request Threads API) |
| Quality gates | Yes (via Build Status API) |
| Slack notifications | Yes |
| Dashboard | Yes |
| Auto-fix agent | Yes |
Azure DevOps vs GitHub Differences
| GitHub | Azure DevOps | |
|---|---|---|
| Auth | GitHub App (automatic) | PAT (manual) |
| Webhook | Auto-registered by GitHub App | Service Hook (auto-registered during setup) |
| Quality gate | Checks API (check run) | Build Status API |
| PR comments | Pull Request reviews | PR Thread comments |
| Artifact format | GitHub Artifacts API | Pipeline Artifacts API |
| Test results | JUnit XML | JUnit XML or TRX |
| Auto-fix | GitHub Actions workflow | Azure Pipelines YAML |
Creating a Personal Access Token
- Go to dev.azure.com and sign in
- Click your profile icon (top right) > Personal access tokens
- Click New Token
- Set a descriptive name (e.g. "FixSense")
- Select the organization your project belongs to
- Set expiration (recommended: 90 days or more)
- Select the required scopes: Build (Read), Code (Read & Write), Service Hooks (Read & Write)
- 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
- Check that your pipeline publishes
test-results/as an artifact usingPublishPipelineArtifact@1 - Verify your test framework config includes a JUnit or TRX reporter
- Check that the build completed with Failed or PartiallySucceeded status — builds cancelled before tests run won't trigger analysis
- 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.