Azure DevOps

Azure DevOps is an end-to-end solution providing services for collaboration during the application development lifecycle: version control, reporting, requirements management, project management, automated builds, testing and release management capabilities.

Data integration: Skyvia supports importing data to and from Azure DevOps, exporting Azure DevOps data to CSV files, replicating Azure DevOps data to relational databases, and synchronizing Azure DevOps data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Azure DevOps backup.

Query: Skyvia Query supports Azure DevOps.

Azure DevOps-Specific Features and Limitations

Skyvia has the following limitations for Azure DevOps:

  • WorkItemProcessQueries table stores data about parent folders and queries only. All the data about child folders and queries are stored in the Children array field.

    For user convenience, the Children array field values are exposed in the separate WorkItemProcessChildrenQueries table.

  • When inserting a record to the WorkItemProcessChildrenQueries table, the parent folder or query Id has to be specified.

  • When you create an account in Azure DevOps, some default records are being created automatically in the NotificationSubscriptions table. In such records the UpdatedDate field is empty, thus these records are not considered in the Incremental Replication and Synchronization. Together with that, manually inserted records in this table have the values in the UpdatedDate field. Thus, manually inserted records could be replicated incrementally and synced.

  • When importing records to the NotificationSubscriptions table the Filter_type field value must be specified. However, some other Filter group fields’ values may also become required, depending on what the Filter_type field value was specified.

  • The WorkItems table supports the following operators when using filters: equals, >, <, >=, <=.

  • The WorkItems table allows getting to 20000 records by one query.

    All the work items can be of different types Bug, Feature, Epic, Test Case, Impediment, Task, or Product Backlog Item. Please consider the work items type when mapping fields for Import. Required fields for different work item types may differ.

    When mapping the WorkItems table fields, all the fields are available for mapping, but you have to map only those which are relevant to the specific work item type.

  • Some of the Azure DevOps objects have complex hierarchic structures. The Update operation for these objects can be performed only via their parent objects. These objects are WorkItemTrackingComments, ProjectDashboardWidgets and TeamDashboardWidgets.

    For example, to update ProjectDashboardWidgets, Azure DevOps API requires mapping the Id field. Optionally you can map the name of the corresponding Project. To get TeamDashboardWidgets records, Azure DevOps API requires mapping the Id field. Optionally you can map the corresponding Team Id.

    Skyvia does not require the ID of the parent object from users. If you don’t specify the IDs of the parent objects (for example, in a filter), Skyvia queries all the parent object records first, takes their IDs, and then queries child object records for each parent object record. This allows querying child objects without knowing their parents, but this method takes much time and consumes many API calls. It uses at least one API call for every parent object record. Thus, working with such tables can be very slow.

    Because of this, it is strongly recommended to use filters on the parent object fields when querying data from such child objects. This reduces the number of parent object records, for which child object data must be queried.

    For example, when updating the WorkItemTrackingComments you have to map the Id field, and optionally add mappings for ProjectId and WorkItemId

DML Operations

Skyvia supports the following DML operations for Azure DevOps objects:

INSERT, UPDATE, DELETE - AuditStreams, NotificationSubscriptions, ProjectDashboardWidgets, Projects, TeamDashboardWidgets, Teams, WorkItemProcessChildrenQueries, WorkItemProcessQueries, WorkItems, WorkItemTrackingComments, WorkItemTrackingProcesses

INSERT, DELETE - ProjectDashboards, TeamDashboards

DELETE - WorkIterations

Azure DevOps Connections

To establish a connection, you need to enable the ‘Third-party application access via OAuth’ option for your organization To do this, sign in with Azure DevOps, open Organization settings –> Security –> Policy.

Azure DevOps connection

To create a Azure DevOps connection in Skyvia, perform the following steps:

  1. Click +NEW in the top menu.
  2. Open the Select Connector page by clicking Connection in the menu on the left.
  3. In the opened pane, click Azure DevOps.
  4. In the Connection Editor page, in the Untitled field, specify a connection name that will be used to identify the connection.
  5. Click sign-in with Azure DevOps and enter you credentials.
  6. Give your consent to the access request from Skyvia.

    Azure DevOps scopes

  7. Specify the Organization. You can find the Organization value on the Azure DevOps main page in the list of available organizations or in the page URL. For example, if the URL looks like dev.azure.com/your_organization, you enter only your_organization part of the URL in Skyvia.
  8. Click Create Connection.

    Azure DevOps connection

Supported Actions and Actions Specifics

Azure DevOps connector supports the following actions: