Connect using Power Query and Azure DevOps functions
Azure DevOps Services | 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, such as 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.
You should only use VSTS.AccountContents to access data that isn't available in Analytics. It pulls data directly from Azure DevOps and, to protect other Azure DevOps users, is susceptible to throttling. For information on other approaches, read the Power BI integration overview.
Advanced function which returns the contents downloaded from the URL for Analytics as a binary value.
VSTS.AccountContents function has the same arguments, options and return value format as
Web.Contents. For more information please refer to: Power Query (M) Formula Reference - Web.Contents.
If you are already using
Web.Contents to access data from Analytics (REST API or OData), you can replace it with
VSTS.AccountContents to leverage Data Connector authentication.
This will also inform Power BI that these requests are referencing the same data source and you'll be able to combine the data without violating the single data source constraints in Power BI Service.
'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
||URL to one of the VSTS service endpoints.|
||An options record to control the behavior of this function.|
Options fields for VSTS.Contents
||Specifying this logical value as true will ignore any existing response in the cache when fetching data.|
||Specifying this value as a list will prevent any builtin handling for HTTP requests whose response has one of these status codes.|
||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.|
||Programmatically add query parameters to the URL.|
||Specifying this value as text appends it to the base URL before making the request.|
||Specifying this value as a duration will change the timeout for an HTTP request. The default value is 600 seconds.|
||Version of the data model. This option is primary for diagnostics.|