Administrating and publishing Power BI resources via Azure DevOps

3 minute read

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 PowerBI.com.

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: https://marketplace.visualstudio.com/azuredevops
  2. Search for the extension: “Power BI Actions” or use this direct link: https://marketplace.visualstudio.com/items?itemName=maikvandergaag.maikvandergaag-power-bi-actions
  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:

https://docs.microsoft.com/en-us/power-bi/developer/register-app

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.

Support

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.

Extensions

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

https://msftplayground.com/extensions/