Installation • Documentation • Support • Contribute • Contributors • Licensing
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.
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.
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
.
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. |
Map your tests with the corresponding AzureDevops ticket id.
@Test
@AzureTest(id = 2257)
public void test_case_01() {
...
}
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 |
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
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.
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.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
Issues | |
Other Requests |
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.
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.
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.