Azure DevOps (VSTS or TFS2015+)/ Microsoft Common Adapter
Introduction
Microsoft supports interacting with the Visual Studio Team Services (Azure DevOps Cloud) and TFS (on-premise) servers via the ReST API. To configure any of these applications, the Microsoft Common Adapter can be used. However, the support for TFS in this adapter is only from TFS2015 versions. To configure any lower versions of TFS, customers are requested to use TFS (or Azure DevOps Server) adapter.
What's Supported
Authentication
PAT (or) Personal Access Token based Authentication (Not applicable with TFS2015 Servers)
Azure Active Directory Authentication
Entity Types
Bug
Task
Feature
User Story
Issue
Epic
Test Case
Test Plan
Custom Entity / Work Item Types
Test Instances
Functionalities
Sync Fields
Sync Comments
Sync Attachments
Setup
Configuration
ConnectALL Microsoft Common Adapter will allow configuring both Visual Studio Team Services and TFS2015+. For Visual Studio Team Services, the "Team Project" field is not a mandatory field for input. For TFS, the user has to provide the Team Project/Collection/Organization details. If not provided, by default the team project collection would be considered as "DefaultCollection".
We have explained here about creating a connection.
Time Difference Configuration
To know how to calculate the time difference, and configure it in the ConnectALL UI, read the topic Time Difference Configuration.
Entity Mapping
The Entity Mapping screen of Azure DevOps gives the options displayed below. We have shown below the Entity Mapping between Atlassian Jira and Azure DevOps.
For more information on entity mapping, click here.
Field Mapping
The below fields (image) is available for mapping in the Azure DevOps adapter. Select the fields to map and click Add Field Mapping.
Click Save in the above screen to complete the field mapping. For more information on field mapping, click here.
- Kindly ensure that VSTS.properties is available in MULE_HOME/conf directory before configuring the adapter in ConnectALL. If not available, create one file and add the entry api.version=1.0 in the file and save.
- For comment synchronization, only new comments can be added to Visual Studio Team Services. Comments update is not supported.
- For drop-down fields like Priority, Severity, and State — To provide the value mapping, enter the text manually into the text box. The reason being, Visual Studio ReST API cannot fetch the list of allowed values for the drop-down fields.
By default, the number of records that will be displayed in the project drop-down list (in the entity mapping page) is 500. This can be modified to display the required number of projects. To do so, set the required count in the vsts.properties file. In the below example, the number is set at 100 in the vsts.project.limit property.
Example vsts.project.limit=100. If you want to sync an URL, the link type that you select such as relates to, parent, etc. enables it to be synced when you map that link type to a rich text field (or a custom field) in another adapter.
Description Field
Please note that when images are added as part of the Description / Repro Steps / Comments field, image syncing will not be supported by ConnectALL and any further update on the record may cause sync issues. Therefore, we would advise not to attach images as part of these fields in VSTS/TFS. Also, the support for 'block quote' is available only for the 'Description' field and not for the 'Comments' field.
Enhancements
Jira-Visual Studio Team Services / Jira-TFS2015 Epic Link Support
To synchronize Jira-VSTS/TFS Epic, create an automation in ConnectALL by choosing the entity type as Epic. On the Epic automation field mapping, map the "Epic Name" field of Jira with an "Epic Name" custom field of VSTS/TFS as shown in the screenshot below. This is a mandatory field mapping for an Epic to sync successfully.
To synchronize the linked bugs/stories/tasks under the Epic, create a separate automation in ConnectALL for the relevant entity types between Jira and VSTS/TFS. Now map the Jira "Epic Link" field with the "Epic Link" custom field of VSTS/TFS as shown in the screenshot below. This is a required field mapping to create the linking between the Epics and the linked items.
Microsoft Common Adapter - Remedy 8.1 - Release Management Sync
To synchronize the releases from Visual Studio Team Services/TFS <==> Remedy 8.1/9, select the 'issuetype' and 'project' information from the Automation Properties section as displayed below and configure the fields.
Microsoft Common Adapter Email Reconciliation Logic
The email field which at present received in the JSON response will constitute the DOMAIN NAME and EMAIL ID. Since this retrieval owes to be RAW and doesn't recommend the usage of the same as it is for further processing, ConnectALL application code has introduced a smart logic to segregate the email ID alone. In that case, below are the steps to be configured for apt functioning:
- Configure the impacted label name in ConnectAll Properties - Say System.AssignedTo is one such impacted field, this would be configured in ConnectAll.properties as
vsts.email.reconcile.fields=System.AssignedTo - If there is more than one field impacted, it should be configured with '~' separator.
Note: The above fix is limited to the on-premise version of ConnectAll for now.
Microsoft Common Adapter Test Management
Test Case
Test Case entity type when mapped, then the adapter can sync Test Cases from any application. To synchronize Test Steps (along with Test Case), then map the following Steps field with the corresponding field on the other application.
Note: Any test step edited will be created as a new test step instead of updating the existing test step
Test Plan
Test Plan entity type when mapped, then the adapter can create a Test Plan in VSTS/TFS2015+. Test Plan can be created for a specific Area and Iteration Path and within a start and end date.
For Test Plan to work, please ensure that ms_testplan_field.json is available under MULE_HOME/conf directory.
PS: Test Suite create/update support is not available.
Test Instance
For ConnectALL to link a Test Case with a Test Plan and to update the Test Run result (outcome) against the Test Case, Test Instance entity type should be mapped and the following field mappings are mandatory.
- test_sequence - if mapped, this will ensure that the test cases are ordered correctly under the Test Plan
- test_id - to identify the test case id (from the Test Case automation mapping) to link to the corresponding plan
- plan_id - to identify the test plan id (from the Test Plan automation mapping) to identify the test plan against which the changes is required
- outcome - if mapped, this will update the test run result/outcome against each Test Cases
Test Instance
The minimum automation scheduler configuration recommended is every 3 minutes or higher.
Troubleshooting
Issue
In an Azure DevOps record, when you are making modifications that involve issue linking settings alone, the changes will not be updated in the other application when ConnectALL synchronizes that record. However, when you modify the issue linking settings along with other changes in an Azure DevOps record, the update will reflect the issue linking settings change when the record is synchronized.
Workaround
This issue is due to a limitation in the Azure DevOps API, wherein an individual issue linking settings change is not timestamped. Due to this, ConnectALL will not be able to identify the modified record and an update will not reflect the issue linking changes. On the other hand, if any other changes are also done along with the issue linking settings, Azure DevOps timestamps those changes. This enables ConnectALL to read the changes, and the update will reflect the changes (in the issue linking settings) when the record is synchronized.