Connect using Power Query and Azure DevOps functions

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

The Data Connector for Azure DevOps includes Power Query M functions which query authors can use. These functions can handle Azure DevOps specific requirements like authentication for you. This article describes the arguments for the functions and how to use them to connect to Analytics.

The VSTS.AccountContents function is a replacement for Power Query M function Web.Contents. Intended for more advanced scenarios, VSTS.AccountContents returns the contents downloaded from the URL for Analytics as a binary value. You can use it to call AzureDevOps REST APIs.

Important

  • Use VSTS.AccountContents only to access data that isn't available in Analytics. It pulls data directly from Azure DevOps and, to protect other Azure DevOps users, it's susceptible to throttling. See the Supported Subdomains for VSTS.AccountContents section later in this article. For information about other approaches, see the Power BI integration overview.
  • VSTS.AccountContents supports only Azure Boards data (work items). The data connector doesn't support other data types, such as pipelines. Currently, we have no plans to update the connector to support other data types.

VSTS.AccountContents

Advanced function that returns the contents downloaded from the URL for Analytics as a binary value.

The VSTS.AccountContents function has the same arguments, options, and return value format as Web.Contents. For more information, see Power Query (M) Formula Reference - Web.Contents.

If you're already using Web.Contents to access work tracking data from Analytics (REST API or OData), you can replace it with VSTS.AccountContents to use Data Connector authentication. It informs Power BI that these requests are referencing the same data source. You can combine the data without violating the single data source constraints in Power BI Service. However, VSTS.AccountContent only supports data from Azure Boards and can't be used to support queries for Pipelines or other services.

'VSTS.AccountContents' provides a subset of the arguments and options available through 'OData.Contents'. The specific limitations are outlined in the table below:

Arguments for VSTS.Contents

Argument Description
url URL to one of the Azure DevOps service endpoints.
options An options record to control the behavior of this function.

Options fields for VSTS.Contents

Field Description
IsRetry Specify this logical value as true will ignore any existing response in the cache when fetching data.
ManualStatusHandling Specify this value as a list will prevent any builtin handling for HTTP requests whose response has one of these status codes.
MaxSize Controls the max size of the table the client is interested in. If request exceeds this limit then server can fail the request immediately. Default value is zero, which tells the servers server to use its default value.
Query Programmatically add query parameters to the URL.
RelativePath Specify this value as text appends it to the base URL before making the request.
Timeout Specify this value as a duration will change the timeout for an HTTP request. The default value is 600 seconds.
Version Version of the data model. This option is primary for diagnostics.

Supported Subdomains for VSTS.AccountContents

Currently, the VSTS.AccountContents() method only works for the subdomains listed below. Other services, such as the Release service, aren't yet supported:

  • https://dev.azure.com/
  • https://analytics.dev.azure.com/
  • https://vsrm.dev.azure.com/