Skip to main content
Planview Customer Success Center

Microsoft Azure DevOps

Overview

Planview Hub offers integration solutions to flow test artifacts such as test results, test steps, and their associated tests, test runs, test instances, and folder structures.

Please review the sections below to learn more about supported test scenarios using Microsoft Azure DevOps.

           

Microsoft Azure DevOps & Jira Xray

In this integration scenario, a tester creates a test case in Jira Xray. Hub will flow the test case, along with its fields and sub-entities to Azure DevOps, so that the tester in Azure DevOps can begin running his tests. Hub will then flow the test results and defects back over to Xray to maintain full visibility across the lifecycle.

Screenshot 2024-04-29 at 4.44.13 PM.png

The goal of this integration scenario is to synchronize the Xray Test Case artifact with the Azure DevOps Test Case artifact, while including the Test Results and Defects from the Azure DevOps artifact. To do this, you'll need to configure the following integrations:

  • Azure DevOps Test Plans <> Jira Xray Test Plans
  • Azure DevOps Test Suites <> Jira Xray Test Sets
  • Azure DevOps Test Cases <> Jira Xray Tests 
  • Azure DevOps Test Runs <- Jira Xray Test Executions
  • Azure DevOps Test Results <> Jira Xray Test Runs

Connect to your Repositories

First, connect to your repository by following the instructions here.

You can learn more about connector-specific configuration in our Connector Docs.

Set Up your Model

Review general details on creating or reusing a model.

For this integration scenario, you will need to add the following fields to your model:

Smart Field Label Type Field Values (if applicable)
Summary Summary String N/A
Description Description Rich Text N/A
Formatted ID Formatted ID String N/A
Status Status Single Select New, To Do, In Progress, Done
Created Created Date Time N/A
Modified Modified Date Time N/A
Location URL Location N/A
Parent Artifact Parent Relationship N/A
None Parents Relationships N/A
None Test Coverage Relationships N/A
None Children Relationships N/A
None Xray ID String N/A
None Xray URL String N/A

None

Azure DevOps ID

String

N/A

None

Azure DevOps URL

String

N/A

Xray

You will need to add the following custom fields to your Xray instance:

Name Type
Azure DevOps ID String
Azure DevOps URL String

Azure DevOps

You will need to add the following custom fields to your Azure DevOps instance:

Name Type
Xray ID String
Xray URL String

 

Create your Collections

Azure DevOps

For this integration scenario, you'll need to configure the following Azure DevOps collections:

Work Item Collections

  • Azure DevOps Test Plans
  • Azure DevOps Test Suites
  • Azure DevOps Test Cases
  • Azure DevOps Test Runs
  • Azure DevOps Test Results

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following Azure DevOps fields to the model:

Collection Azure DevOps Field Model Field
Azure DevOps Test Plans Title Summary
Description Description
State Status
Xray ID Xray ID
Xray URL Xray URL
Iteration Path Constant Value Based on Projects
Area Path Constant Value Based on Projects
Formatted ID

Azure DevOps ID

URL

Azure DevOps URL

Azure DevOps Test Suites Title Summary
Description Description
State Status
Azure DevOps Test Cases Title Summary
Description Description
State Status
Xray ID Xray ID
Xray URL Xray URL
Iteration Path Constant Value Based on Projects
Area Path Constant Value Based on Projects
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Azure DevOps Test Runs Summary Summary
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Azure DevOps Test Results Configuration Constant Value
Relationship Specification

Configure the following relationship mappings:

Collection Azure DevOps Field Model Field
Azure DevOps Test Plans Test Case Children
Parent Constant Value
Azure DevOps Test Suites Parent Test Plan Parents
Azure DevOps Test Runs Parent Test Plan Parents
Azure DevOps Test Results Parent Test Run Parent
Parent Test Case Test Coverage
Parent Test Plan Constant Value

Xray

For this integration scenario, you'll need to configure the following Xray collections:

Work Item Collections

  • Xray Test Plans
  • Xray Test Sets
  • Xray Tests
  • Xray Test Executions
  • Xray Test Runs

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following Xray fields to the model:

Collection Xray Field Model Field
Xray Test Plans Summary Summary
Description Description
Status Status
Priority Constant Value
Key Xray ID
URL Xray URL

Azure DevOps ID

Azure DevOps ID

Azure DevOps URL

Azure DevOps URL

Xray Test Sets Summary Summary
Description Description
Status Status
Priority Constant Value
Xray Tests Summary Summary
Description Description
Status Status
Priority Constant Value
Key Xray ID
URL Xray URL
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Xray Test Executions Summary Summary
Priority Constant Value
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Relationship Specification

Configure the following relationship mappings:

Collection Xray Field Model Field
Xray Test Plans tests Children
Xray Test Sets relates to (in) Parents
Xray Tests Parent Link Parent
Xray Test Executions Test Plan Parents
Xray Test Runs Test Run Test Execution key Parent
Test Run Test key Test Coverage
State Transitions

Configure the following state transition:

Collection Type Field Transition Name From State To State
Xray Test Plans Transition Graph Status Reopen Issue Closed Reopened
Close Issue  In Progress Closed
Resolve Issue In Progress Resolved
Close Issue New Closed
Start Progress New In Progress
Resolve Issue New Resolved
Start Progress Reopened In Progress
Reopen Issue Resolved Reopened
Xray Test Sets Transition Graph Status Start Progress Closed In Progress
Reopen Issue Closed Reopened
Resolve Issue Closed Resolved
Close Issue In Progress Closed
Resolve Issue In Progress Resolved
Close Issue  New Closed
Start Progress New In Progress
Reopen Issue New Reopened
Resolve Issue New Resolved
Close Issue Reopened Closed
Start Progress Reopened In Progress
Resolved Reopened Resolved
Close Issue Resolved Closed
Reopen Issue Resolved Reopened
Xray Tests Transition Graph Status Reopen Issue Closed Reopened
Close Issue In Progress Closed
Resolve Issue In Progress Resolved
Close Issue New Closed
Start Progress New In Progress
Resolve Issue New Resolved
Start Progress Reopened In Progress
Reopen Issue Resolved Reopened


Configure your Integrations 

You can learn general details on configuring integrations here: 

For this integration scenario, you will need to configure the following integrations:

  • Azure DevOps Test Plans <> Jira Xray Test Plans
  • Azure DevOps Test Suites <> Jira Xray Test Sets
  • Azure DevOps Test Cases <> Jira Xray Tests 
  • Azure DevOps Test Runs <- Jira Xray Test Executions
  • Azure DevOps Test Results <> Jira Xray Test Runs

Review the details in the table below to ensure that your integrations are configured correctly.

Integration Integration Type Artifact Creation Flow Artifact Routing/Container Mirroring Conflict Resolution
ADO Test Plans <> Xray Test Plans Work Item Synchronization Two-way Creation ADO <> Xray Xray Collection Dominates
ADO Test Suites <> Xray Test Sets Work Item Synchronization Two-way Creation ADO <> Xray Xray Collection Dominates
ADO Test Cases <> Xray Tests Work Item Synchronization Two-way Creation ADO <> Xray Xray Collection Dominates
ADO Test Runs <- Xray Test Executions Work Item Synchronization Two-way Creation ADO <> Xray Xray Collection Dominates
ADO Test Results <> Xray Test Runs Work Item Synchronization Two-way Creation ADO <> Xray Xray Collection Dominates

Functional Limitations

Category Limitation Applicable Repository Version
Third Party API Limitation

Test Steps

Test Steps are not supported in Azure DevOps.

Any supported repository version:

Good to Know

Test Plans

When a Test Plan is created in ADO, a Test Suite is automatically created with the same name. As a result, both the Test Plan and Test Suite integrations will synchronize into Xray.

Any supported repository version:

Third Party API Limitation

Test Results

Test Results cannot be synchronized into ADO because Xray Test Runs do not have relationship options for Parent Test Plans and Parent Test Suites.

Any supported repository version:

 

 

           

           

Microsoft Azure DevOps & Micro Focus ALM/QC

In this integration scenario, a tester creates a test case in Azure DevOps. Hub will flow the test case, along with its fields and sub-entities to ALM, so that the tester in ALM can begin running her tests. Hub will then flow the test results and defects back over to Azure DevOps to maintain full visibility across the lifecycle.

Screenshot 2024-04-30 at 10.20.37 AM.png

The goal of this integration scenario is to synchronize the Azure DevOps Test Case artifact with the ALM Test artifact, while including the Test Results from the ALM artifact. To do this, you'll need to configure the following integrations:

  • Azure DevOps Test Suites <> ALM Test Folders
  • Azure DevOps Test Cases <> ALM Tests
  • Azure DevOps Test Results <- ALM Test Runs

Connect to your Repositories

First, connect to your repository by following the instructions here.

You can learn more about connector-specific configuration in our Connector Docs.

Set Up your Model

Review general details on creating or reusing a model.

For this integration scenario, you will need to add the following fields to your model:

Smart Field Label Type Field Values
Summary Summary String N/A
Description Description Rich Text N/A
Status Status Single Select New, To Do, In Progress, Done
Formatted ID Formatted ID String N/A
Location URL Location N/A
Created Created Date Time N/A
Modified Modified Date Time N/A
Parent Artifact Parent Relationship N/A
None Test Coverage Relationships N/A
None Azure DevOps ID String N/A
None Azure DevOps URL String N/A
None ALM ID String N/A
None ALM URL String N/A

Azure DevOps

You will need to add the following custom fields to your Azure DevOps instance:

Name Type
ALM ID String
ALM URL String

Micro Focus ALM/QC

You will need to add the following custom fields to your ALM instance:

Name Type
Azure DevOps ID String
Azure DevOps URL String

Create your Collections

Azure DevOps

For this integration scenario, you'll need to configure the following Azure DevOps collections:

Work Item Collections

  • Azure DevOps Test Cases
  • Azure DevOps Test Results

Container Collections

  • Azure DevOps Test Suites

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following Azure DevOps fields to the model:

Collection Azure DevOps Field Model Field
Azure DevOps Test Cases Title Summary
Description Description
State Status
Created Date Created
Formatted ID Azure DevOps ID
URL Azure DevOps URL
ALM ID ALM ID
ALM URL ALM URL
Iteration Path Constant Value Based on Projects
Area Path Constant Value Based on Projects
Azure DevOps Test Results Test Case Title Summary
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Configuration Constant Value
Azure DevOps Test Suites Title Summary
Description Description
Iteration Path Constant Value
Area Path Constant Value
Relationship Specification

Configure the following relationship mappings:

Collection Azure DevOps Field Model Field
Azure DevOps Test Results Parent Test Case Test Coverage
Parent Test Plan Constant Value
Azure DevOps Test Suites Parent Parent

Micro Focus ALM/QC

For this integration scenario, you'll need to configure the following ALM collections:

Work Item Collections

  • ALM Tests
  • ALM Test Runs

Container Collections

  • ALM Test Folders

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following ALM fields to the model:

Collection ALM Field Model Field
ALM Tests Test Name Summary
Description Description
Status Status
Creation Date Created
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Formatted ID ALM ID
URL ALM URL
ALM Test Runs Run Name Summary
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Tester Constant Value
ALM Test Folders Name Summary
Description Description
Relationship Specification

Configure the following relationship mappings:

Collection ALM Field Model Field
ALM Test Runs Test Instance Test Coverage
ALM Test Folders Parent Folder Parent

Configure your Integrations 

You can learn general details on configuring integrations here: 

For this integration scenario, you will need to configure the following integrations:

  • Azure DevOps Test Suites <> ALM Test Folders
  • Azure DevOps Test Cases <> ALM Tests
  • Azure DevOps Test Results <- ALM Test Runs

Review the details in the table below to ensure that your integrations are configured correctly.

Integration Integration Type Artifact Creation Flow Artifact Routing/Container Mirroring
Azure DevOps Test Suites <> ALM Test Folders Container + Work Item Synchronization Two-way Creation ADO <> ALM
Azure DevOps Test Cases <> ALM Tests Work Item Synchronization Two-way Creation ADO <> ALM
Azure DevOps Test Results <- ALM Test Runs Work Item Synchronization Two-way Creation ADO <> ALM

Functional Limitations

Category Limitation Applicable Repository Version
Good to Know

Outcome Field

The Outcome Field on the Azure DevOps Test Result artifact is likely to map to the status field. 

Any supported repository version:

 

           

           

Microsoft Azure DevOps & Micro Focus ALM Octane

In this integration scenario, a tester creates a test case in Azure DevOps. Hub will flow the test case, along with its fields and sub-entities to ALM Octane, so that the tester in ALM Octane can begin running his tests. Hub will then flow the test results and defects back over to Azure DevOps to maintain full visibility across the lifecycle.

Screenshot 2024-04-30 at 11.37.39 AM.png

The goal of this integration scenario is to synchronize the Azure DevOps Test Case artifact with the ALM Octane Test artifact, while including the Test Results from the ALM Octane artifact. To do this, you'll need to configure the following integrations:

  • Azure DevOps Test Suites <> ALM Octane Test Suites
  • Azure DevOps Test Cases <- ALM Octane Tests
  • Azure DevOps Test Runs <> ALM Octane Run Suites
  • Azure DevOps Test Results <> ALM Octane Runs

Connect to your Repositories

First, connect to your repository by following the instructions here.

You can learn more about connector-specific configuration in our Connector Docs.

Set Up your Model

Review general details on creating or reusing a model.

For this integration scenario, you will need to add the following fields to your model:

Smart Field Label Type Field Values
Summary Summary String N/A
Description Description Rich Text N/A
Formatted ID Formatted ID String N/A
Location URL Location N/A
Created Created Date Time N/A
Modified Modified Date Time N/A
Parent Artifact Parent Relationship N/A
None Related Relationships N/A
None Test Cases Relationships N/A
None Azure DevOps ID String N/A
None Azure DevOps URL String N/A
None Octane ID  String N/A
None Octane URL String N/A
None ADO Test Result Status Single Select Passed, Warning, Not Executed, Timeout, Failed, Inconclusive, Error, In Progress, Unspecified, Not Applicable, Aborted, None, Blocked, Paused

Azure DevOps

You will need to add the following custom fields to your Azure DevOps instance:

Name Type
Octane ID String
Octane URL String

Micro Focus ALM Octane

You will need to add the following custom fields to your ALM Octane instance:

Name Type
Azure DevOps ID String
Azure DevOps URL String

Create your Collections

Azure DevOps

For this integration scenario, you'll need to configure the following Azure DevOps collections:

Work Item Collections

  • Azure DevOps Test Cases
  • Azure DevOps Test Runs
  • Azure DevOps Test Results

Container Collections

  • Azure DevOps Test Suites

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following Azure DevOps fields to the model:

Collection Azure DevOps Field Model Field
Azure DevOps Test Cases Title Summary
Description Description
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Octane ID Octane ID
Octane URL Octane URL
Iteration Path Constant Value Based on Projects
Area Path Constant Value Based on Projects
Azure DevOps Test Runs Summary Summary
Created Date Created
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Azure DevOps Test Results Test Case Title Summary
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Outcome ADO Test Result Status
Configuration Constant Value
Azure DevOps Test Suites Title Summary

Description

Description
Formatted ID Azure DevOps ID
URL Azure DevOps URL
Iteration Path Constant Value
Area Path Constant Value
Relationship Specification

Configure the following relationship mappings:

Collection Azure DevOps Field Model Field
Azure DevOps Test Results Parent Test Run Parent
Parent Test Plan Constant Value
Azure DevOps Test Suites Related Related
Test Cases Test Cases

Micro Focus ALM Octane

For this integration scenario, you'll need to configure the following ALM Octane collections:

Work Item Collections

  • ALM Octane Tests
  • ALM Octane Test Runs

Container Collections

  • ALM Octane Test Folders

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following ALM Octane fields to the model:

Collection Octane Field Model Field
ALM Octane Tests Name Summary
Description Description
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Formatted ID Octane ID
URL Octane URL
Phase Constant Value
Application modules Constant Value
ALM Octane Run Suites Name Summary
Creation time Created
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Release Constant Value
ALM Octane Runs Name Summary
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Native status ADO Test Result Status
Release Constant Value
ALM Octane Test Suites Name Summary
Description Description
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
Application modules Constant Value
Relationship Specification

Configure the following relationship mappings:

Collection Octane Field Model Field
ALM Octane Test Suites Backlog Coverage Related
Contained Tests Test Cases
ALM Octane Runs Test Parent

Configure your Integrations 

You can learn general details on configuring integrations here: 

For this integration scenario, you will need to configure the following integrations:

  • Azure DevOps Test Suites <> ALM Octane Test Suites
  • Azure DevOps Test Cases <- ALM Octane Tests
  • Azure DevOps Test Runs <> ALM Octane Run Suites
  • Azure DevOps Test Results <> ALM Octane Runs

Review the details in the table below to ensure that your integrations are configured correctly.

Integration Integration Type Artifact Creation Flow Artifact Routing/Container Mirroring
Azure DevOps Test Suites <> ALM Octane Test Suites Container + Work Item Synchronization Two-way Creation ADO <> Octane
Azure DevOps Test Cases <> ALM Octane Tests Work Item Synchronization Two-way Creation ADO <> Octane
Azure DevOps Test Runs <> ALM Octane Run Suites Work Item Synchronization Two-way Creation ADO <> Octane
Azure DevOps Test Results <- ALM Octane Runs Work Item Synchronization Two-way Creation ADO <> Octane

Functional Limitations

Category Limitation Applicable Repository Version
Third Party API Limitation

Test Steps

Test steps are not supported in Azure DevOps.

Any supported repository version:

Good to Know

Outcome Field

The Outcome Field on the Azure DevOps Test Result artifact is likely to map to the status field. 

Any supported repository version:

 

           

           

Microsoft Azure DevOps & TestRail

In this integration scenario, a tester creates a test case in Azure DevOps. Hub will flow the test case, along with its fields and sub-entities to TestRail, so that the tester in TestRail can create the appropriate tests to flow back over to Azure DevOps. Back in Azure DevOps, the test results will flow back over to TestRail to maintain full visibility across the lifecycle.

Screenshot 2024-04-30 at 12.22.13 PM.png

The goal of this integration scenario is to synchronize the Azure DevOps Test Case artifact with the TestRail Test Case artifact, while including the Test Results from the Azure DevOps artifact. To do this, you'll need to configure the following integrations:

  • Azure DevOps Test Suites <> TestRail Test Sections
  • Azure DevOps Test Cases <> TestRail Test Cases
  • Azure DevOps Test Runs <- TestRail Tests
  • Azure DevOps Test Results -> TestRail Test Results

Connect to your Repositories

First, connect to your repository by following the instructions here.

You can learn more about connector-specific configuration in our Connector Docs.

Set Up your Model

Review general details on creating or reusing a model.

For this integration scenario, you will need to add the following fields to your model:

Smart Field Label Type Field Values
Summary Summary String N/A
Description Description Rich Text N/A
Formatted ID Formatted ID String N/A
Location URL Location N/A
Created Created Date Time N/A
Modified Modified Date Time N/A
Parent Artifact Parent Relationship N/A
None Test Suite Relationship N/A
None Azure DevOps ID String N/A
None Azure DevOps URL String N/A
None TestRail ID String N/A
None TestRail URL String N/A

Azure DevOps

You will need to add the following custom fields to your Azure DevOps instance:

Name Type
TestRail ID String
TestRail URL String

TestRail

You will need to add the following custom fields to your TestRail instance:

Name Type
Azure DevOps ID String
Azure DevOps URL String

Create your Collections

Azure DevOps

For this integration scenario, you'll need to configure the following Azure DevOps collections:

Work Item Collections

  • Azure DevOps Test Cases
  • Azure DevOps Test Runs
  • Azure DevOps Test Results

Container Collections

  • Azure DevOps Test Suites

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following Azure DevOps fields to the model:

Collection Azure DevOps Field Model Field
Azure DevOps Test Cases Title Summary
Description Description
Formatted ID Azure DevOps ID
URL Azure DevOps URL
TestRail ID TestRail ID
TestRail URL TestRail URL
Iteration Path Constant Value Based on Projects
Area Path Constant Value Based on Projects
Azure DevOps Test Runs Summary Summary
Azure DevOps Test Results Configuration Constant Value
Azure DevOps Test Suites Title Summary
Description Description
Iteration Path Constant Value
Area Path Constant Value
Relationship Specification

Configure the following relationship mappings:

Collection Azure DevOps Field Model Field
Azure DevOps Test Results Parent Test Run Parent
Parent Test Plan Constant Value
Azure DevOps Test Suites Parent Parent
Azure DevOps Test Cases Test Suites Test Suite

TestRail

For this integration scenario, you'll need to configure the following TestRail collections:

Work Item Collections

  • TestRail Test Cases
  • TestRail Tests
  • TestRail Test Results

Container Collections

  • TestRail Test Sections

You can learn general details on configuring collections here:

Review the details in the sections below to ensure that any required fields are mapped in your collections.

Field Mapping

Map the following TestRail fields to the model:

Collection TestRail Field Model Field
TestRail Test Cases Title Summary
Preconditions Description
Azure DevOps ID Azure DevOps ID
Azure DevOps URL Azure DevOps URL
ID TestRail ID
Location TestRail URL
Priority Constant Value
Case Type Constant Value
Template Constant Value
TestRail Tests Title Summary
Status Constant Value Based on Projects
TestRail Test Results  ID Formatted ID
TestRail Test Sections Name Summary
Description Description
Relationship Specification

Configure the following relationship mappings:

Collection TestRail Field Model Field
TestRail Test Sections Parent Section Parent
TestRail Test Cases Test Suite / Baseline Test Suite
TestRail Test Results Test Parent

Configure your Integrations 

You can learn general details on configuring integrations here: 

For this integration scenario, you will need to configure the following integrations:

  • Azure DevOps Test Suites <> TestRail Test Sections
  • Azure DevOps Test Cases <> TestRail Test Cases
  • Azure DevOps Test Runs <- TestRail Tests
  • Azure DevOps Test Results -> TestRail Test Results

Review the details in the table below to ensure that your integrations are configured correctly.

Integration Integration Type Artifact Creation Flow Artifact Routing/Container Mirroring
Azure DevOps Test Suites <> TestRail Test Sections Container + Work Item Synchronization Two-way Creation ADO <> TestRail
Azure DevOps Test Cases <> TestRail Test Cases Work Item Synchronization Two-way Creation ADO <> TestRail
Azure DevOps Test Runs <- TestRail Tests Work Item Synchronization

One-way Creation

Azure DevOps accepts new artifacts

ADO <- TestRail
Azure DevOps Test Results -> TestRail Test Results Work Item Synchronization Two-way Creation ADO <> TestRail

Functional Limitations

Category Limitation Applicable Repository Version
Third Party API Limitation

Test Steps

Test Steps are not supported in Azure DevOps

Any supported repository version:

Good to Know

Test Runs

Test Runs can only be created on automated Test Runs.

Any supported repository version:

Third Party API Limitation

Test Step Results

Due to a ADO API limitation, test step results are not supported.

Any supported repository version:

Good to Know

Tests

The TestRail Test artifact is read-only.

Any supported repository version:

Good to Know

Test Results

Test Results can technically be created bidirectionally, however, there are certain required relationship fields in ADO that do not map to TestRail. 

Any supported repository version:

Good to Know

Outcome Field

The Outcome Field on the Azure DevOps Test Result artifact is likely to map to the status field. 

Any supported repository version: