Skip to content

testerra-azure-devops-connector is used for synchronizing test results with Microsoft Azure Devops platform.

License

Notifications You must be signed in to change notification settings

telekom/testerra-azure-devops-connector

Testerra AzureDevOps Connector

InstallationDocumentationSupportContributeContributorsLicensing

About this module

This module provides additional features for Testerra Framework for automated tests.

This module provides a simple synchronization service for Microsoft AzureDevOps platform.

It will register automatically by using Testerra ModuleHook, but you have to provide a valid property file its usage.

Setup

Requirements

Azure devops connector Testerra
>= 1.0 >= 1.9
>= 2.0 >=2.1

Tested with API version 5.0 at Azure DevOps Server 2020 Update 1.1 (5.1 and 6.0 are not working, cannot add result to run)

Note: Testerra 2.0 is not compatible with connector version 2.0. Please use Testerra 2.1 or above.

Usage

Include the following dependency in your project.

Gradle:

implementation 'io.testerra:azure-devops-connector:2.0'

Maven:

<dependency>
    <groupId>io.testerra</groupId>
    <artifactId>azure-devops-connector</artifactId>
    <version>2.0</version>
</dependency>

Important note: This module is not compatible with the Testerra legacy report (report module). Please always use report-ng.

Documentation

Properties

Add the property file azuredevops.properties and add project specific settings.

Property Default value Description
azure.url na. URL to Azure DevOps server
azure.user na. User with permissions to execute test cases (create/update test runs, create test results)
azure.token na. Token must generated in Azure DevOps in Profile -> Security -> Personal Access Token
azure.sync.enabled false Flag, if test result sync is activated
azure.api.root na. Root of REST API of the project, e.g. agile/<project>/_apis
azure.api.version na. Current API version of your Azure DevOps system, e.g. 5.1
azure.api.version.get.points azure.api.version In some cases the endpoint for getting the test points differs from general API version, e.g. 5.1-preview.2
azure.testplan.id na. Define the test plan where your test cases are added.
azure.run.name Current timestamp Define a custom name for the test run.

Test method mapping

Map your tests with the corresponding AzureDevops ticket id.

@Test
@AzureTest(id = 2257)
public void test_case_01() {
    ...
}

How it works

Steps for sync

# Step Description
1 Create new run https://docs.microsoft.com/en-us/rest/api/azure/devops/test/runs/create?view=azure-devops-rest-6.0
2 Get testcase ID from annotation
3 Find point of testcase in current testplan Tests have to be linked to a testplan. Otherwise, they cannot sync. Every testcase has an own point id. https://docs.microsoft.com/en-us/rest/api/azure/devops/test/points/get-points-by-query?view=azure-devops-rest-6.0
4 Create a test result and add it to the run. Request contains the test point. https://docs.microsoft.com/en-us/rest/api/azure/devops/test/results/add?view=azure-devops-rest-6.0
5 Update the run Set finisher date and close the run. https://docs.microsoft.com/en-us/rest/api/azure/devops/test/runs/update?view=azure-devops-rest-6.0

Publication

This module is deployed and published to Maven Central. All JAR files are signed via Gradle signing plugin.

The following properties have to be set via command line or ~/.gradle/gradle.properties

Property Description
moduleVersion Version of deployed module, default is 1-SNAPSHOT
deployUrl Maven repository URL
deployUsername Maven repository username
deployPassword Maven repository password
signing.keyId GPG private key ID (short form)
signing.password GPG private key password
signing.secretKeyRingFile Path to GPG private key

If all properties are set, call the following to build, deploy and release this module:

gradle publish closeAndReleaseRepository

Code of Conduct

This project has adopted the Contributor Covenant in version 2.0 as our code of conduct. Please see the details in our CODE_OF_CONDUCT.md. All contributors must abide by the code of conduct.

Working Language

We decided to apply English as the primary project language.

Consequently, all content will be made available primarily in English. We also ask all interested people to use English as language to create issues, in their code (comments, documentation etc.) and when you send requests to us. The application itself and all end-user faing content will be made available in other languages as needed.

Support and Feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Issues
Other Requests

How to Contribute

Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.

Contributors

At the same time our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community.

Licensing

Copyright (c) 2021 Deutsche Telekom AG.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.

About

testerra-azure-devops-connector is used for synchronizing test results with Microsoft Azure Devops platform.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages