Forum Discussion

chethan4046's avatar
chethan4046
Regular Visitor
5 months ago
Solved

Automate Power BI Deployment & Data Refresh via GitHub Integration

Hi Team,

I have Power BI workspaces connected to GitHub integration. Currently, when I merge changes to GitHub, Power BI shows a manual prompt in the UI to apply the updates. However, I need this process to be fully automated — no manual button clicks.

My requirements are:

  1. Auto-deployment — When changes are merged to a GitHub branch, they should automatically be applied to the corresponding Power BI workspace without any manual intervention in the UI.
  2. Automatic data source refresh — Once deployment is complete, the data source should automatically refresh so the entire flow is end-to-end automated.
  3. Multi-environment support — I maintain separate environments (Dev, QA, and Prod), each with their own Power BI workspace. The same automated deployment and refresh flow needs to apply to all three environments based on which branch is merged.

I am already using GitHub as my version control system, so all changes should reflect automatically in Power BI without requiring manual steps in the UI.

Could you please advise on the best approach to achieve this?

Thank you.

cengizhanarslan @ danextian

 

 

  • alish_b's avatar
    alish_b
    5 months ago

    That looks promising chethan4046. Power BI supports Github and Azure DevOps better (kind of sad for Bitbucket) so yeah there is a good chance that it could be done cleanly. Give it a go! I might also give it a try over the weekend and thanks for sharing them!

8 Replies

  • Hii chethan4046 

     

    Power BI Git integration currently supports version control only, but it does not automatically apply merged changes to the workspace. The “Apply updates” step in the UI is required by design. To automate deployment, you must use an external CI/CD process such as GitHub Actions or Azure DevOps pipelines combined with Power BI REST APIs. When a branch merge occurs, the pipeline can deploy the updated artifacts to the target workspace and then trigger a dataset refresh using the Refresh Dataset API. Branch-to-workspace mapping (Dev, QA, Prod) can be handled within the pipeline to support multiple environments.

  • rohit1991 

    Thank you for your reply.

    Okay, I will try to use the Power BI REST APIs. Do you have any specific documentation that explains the permissions required for the service principal, the necessary configuration, and which APIs need to be called to achieve the above requirements? also is power bi have cli tool also to this kind of operations ?

    Thanks in advance.

  • Hi chethan4046 ,

     

    I was able to achieve this with Bitbucket pipelines and I think the process will be similar with Github Actions. And I am assuming you are already using PBIP format since you mentioned you have been doing version control for a while. The key components are Service Principal ( basically a robotic user that will authenticate to the workspaces and carry out the deployments), Fabric APIs. These two will automate the deployment part and to trigger the deployment process you will use Github Actions to trigger it on branch merges (say if you merge to main, it will automatically trigger the deployment to your designated workspace).
     I think the main APIs were Set-FabricAuthToken (to authenticate to the workspace), Invoke-FabricAPIRequest (to get workspaces and items list) and Import-FabricItem (does the actual deployment). I don't remember if I added the refresh part though as I already had quite frequent schedule refreshes (but I should revisit that part).

    I hope you have fun doing it and I hope that this helps!