Administrating and publishing Power BI resources via Azure DevOps

While Power BI started as a self-service tool, it has become a part of the enterprise reporting tooling. With enterprise reporting strong governance can quickly become necessary. This will mean that the reports are being created and managed centrally. When this happens there needs to be a method for managing requirement, changes and bugs.

For this process Azure DevOps can be used. Together with a Power BI extension for CI and CD you can manage the process from creating the report and publishing it to

Last year I published the extension called “Power BI Actions”. Today I released a new major version with new capabilities, features and enhancements. The new version of the extension contains the following features:

  • Publish a Power BI dashboard (pbix file).
  • Create a Power BI workspace.
  • Delete a Power BI workspace.
  • Add a new admin user to a Power BI workspace. (other roles are not supported in the Power BI API)
  • Update the connection of a Power BI report. (SQL, Azure Analysis Services, SharePoint, OData)
  • Refresh a dataset.

Together with the new version the authentication towards Power BI has changed. In version 2 you needed a Native Azure Active Directory application and configure it within the task itself. In version 3 you still need the application but you also need to create a “Power BI Service Connection”. By using a Power BI Service connection, the authentication information does not have to be added to each task. The Power BI service connection is included in the extensions. All information regarding the authentication is saved within the service connection.

With the Power BI Service connection, it has become easier to maintain the authentication information. Besides that the connection can be used in any pipeline within the project.

Getting started

The following steps will get you started with automating the process for Power BI:

  1. Go to the Azure DevOps market place:
  2. Search for the extension: “Power BI Actions” or use this direct link:
  3. Click on the “Get It Free” button and follow the installation instructions for the extension.

Azure Active Directory application

One of the other prerequisites is a Native Azure Active Directory application that has access to the Power BI API’s. The manual for setting up this type of application can be found on the Microsoft docs site:

Power BI Service Connection

With the extension installed a Power BI service connection can be added to your project in Azure DevOps.

  1. Open the project were the service connection needs to be added.
  2. Click on “Project Settings” in the lower left corner.
  3. Find the option “Service Connections” under Pipelines.
  4. Click on “New Service Connection” and find “Power BI”
  5. Fill in all the ClientId of the Native application and the user that will perform the actions. Make sure that this user does not have multi factor authentication enabled.

Now that all the prerequisites are setup the task can be added to a pipeline. Search for a task called “Power BI Actions” and start using the extension.


I maintain the extension in my free time and the sources of the extension can be found GitHub. If you encounter any issues or would like to see different features, please let me know by adding an issue to GitHub repository.


Besides this extension I created several others. More information about these extension can be found here:

11 Replies to “Administrating and publishing Power BI resources via Azure DevOps”

  1. I don’t see any service connection option under the pipeline section!
    It’s just agent pool, settings, deployment pools, parallel jobs, and OAuth configurations.
    What to do? I don’t have any pipeline created there yet!

  2. Hi Maik – can you explain where i would get the Clientid from step 5 please?

    Fill in all the ClientId of the Native application and the user that will perform the actions. Make sure that this user does not have multi factor authentication enabled.

    This looks like exactly the tool i need!

  3. When configuring the task in the Release Pipeline, the field “Source File” seems to be for a single file. Is there a way to specify a whole folder?

  4. Hi Maik,
    I’m trying to publish reports from the pipelines and configured everything in the task.
    Got the below error
    [error]Exception calling “GetResult” with “0” argument(s): “AADSTS7000218: The request body must contain the following parameter: ‘client_assertion’ or ‘client_secret’.

    1. You will have to check you configuration. For some reason the authentication information isn’t correct.

      1. From local, I’m able to login by using the same authentication but I have no clue what is causing the issue in the pipeline. I tried with the user principal and service principals both have different issues.
        The above issues causing from user-principal
        When I use a service principal it is not recognizing the existing workspace

      2. Hi Maik,

        can you please help me with the below error.
        ##[error]Exception calling “GetResult” with “0” argument(s): “parsing_wstrust_response_failed: Parsing WS-Trust response failed”

        Note: I am using Power Bi Action to publish the report to one of my workspaces and Using “PowerBI- User” as a service type connection. I registered Power Bi app as a Native app using my organization account, but I don’t have an Azure subscription. is that matter?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.