Forum Discussion
Seeking Automated Solutions for Power BI Workspace Reports Synchronization and Backup
Hello Team,
I am exploring solutions for managing multiple workspaces, each containing hundreds of reports published to them. Specifically, I am seeking a method to automatically sync or upload all Power BI reports from a workspace to maintain version history and store metadata. This includes automatic synchronization for changes such as additions, deletions, and modifications, as well as backing up PBIX files. Currently, we develop reports using Power BI Desktop and publish them manually to the workspace.
Previously, we utilized Azure DevOps (ADO) for source control but have transitioned to GitHub. In ADO, we synchronized the Power BI Workspace to an ADO repository, saving report-dataset metadata alongside the PBIX file. However, in GitHub, the metadata is stored only as a report and semantic model without PBIX file backups. Additionally, with the ADO/GitHub integration, there is a challenge when dealing with hundreds of changes in reports and datasets, as we must manually select batches to sync to the repository. Attempting to push all changes at once results in errors.
We are looking for a comprehensive solution that allows us to quickly synchronize all reports in a workspace, facilitating version control for metadata and PBIX file backups. Is it possible to work with OneDrive/SharePoint directly from Power BI Service to automatically push all published reports to OneDrive/SharePoint without individually saving each report from the desktop to OneDrive/SharePoint? Also, could you please advise on any tenant and admin level settings required to achieve this?
- Anonymous1 year ago
Hi Maruthi_Sharma ,
Thanks for posting in Microsoft Fabric Community.
For automating the export and backup of PBIX from workspaces, there are some approaches that others have successfully implemented. One example is using Power Automate to schedule weekly exports of all reports from workspaces to SharePoint. The flow created folders for each workspace, retrieved workspace IDs via the Power BI API, listed the reports, and exported them using the API. Each exported file was saved in SharePoint for version history.
More details are available in this thread: Automated export of PBIX and RDL files from worksp... - Microsoft Fabric Community.
Another approach is to host PBIX files directly in SharePoint or a GitHub repository, which ensures version history for all changes. For automated exports, the Power BI REST API can be used, specifically the Export Report In Group API. This can be implemented via code (Python with simplepbi or other languages) or Power Automate using HTTP actions.
Guidance for this is in this discussion: Solved: Re: How to Automate Export Power BI Report (.pbix)... - Microsoft Fabric Community
Regarding tenant and admin settings, the account executing these automations must have at least Contributor access to the workspaces being exported and permissions to write to the target SharePoint or OneDrive location. At the tenant level, the settings under Export and Sharing, Admin API, and Integration should be enabled. These configurations ensure the automation can access, export, and store the reports without manual intervention.
Both approaches allow version-controlled backups without manual downloads. You can choose Power Automate for a low-code approach or scripting with the REST API for more control.
Hope this helps. Please reach out for further assistance.
Thank you.
Hi, I highly recommend looking to work with the fabric-cicd Python library if you are looking to do do this for multiple reports and workspaces:
https://microsoft.github.io/fabric-cicd/0.1.29/
Here's a link to an example Git repository that you can use with GitHub Actions that can help you get started:
https://github.com/kevchant/GitHub-fabric-cicd-sample
If this answers your question please give kudos and/or accept as solution.
4 Replies
- AnonymousNot applicable
Hi Maruthi_Sharma ,
Thanks for posting in Microsoft Fabric Community.
For automating the export and backup of PBIX from workspaces, there are some approaches that others have successfully implemented. One example is using Power Automate to schedule weekly exports of all reports from workspaces to SharePoint. The flow created folders for each workspace, retrieved workspace IDs via the Power BI API, listed the reports, and exported them using the API. Each exported file was saved in SharePoint for version history.
More details are available in this thread: Automated export of PBIX and RDL files from worksp... - Microsoft Fabric Community.
Another approach is to host PBIX files directly in SharePoint or a GitHub repository, which ensures version history for all changes. For automated exports, the Power BI REST API can be used, specifically the Export Report In Group API. This can be implemented via code (Python with simplepbi or other languages) or Power Automate using HTTP actions.
Guidance for this is in this discussion: Solved: Re: How to Automate Export Power BI Report (.pbix)... - Microsoft Fabric Community
Regarding tenant and admin settings, the account executing these automations must have at least Contributor access to the workspaces being exported and permissions to write to the target SharePoint or OneDrive location. At the tenant level, the settings under Export and Sharing, Admin API, and Integration should be enabled. These configurations ensure the automation can access, export, and store the reports without manual intervention.
Both approaches allow version-controlled backups without manual downloads. You can choose Power Automate for a low-code approach or scripting with the REST API for more control.
Hope this helps. Please reach out for further assistance.
Thank you.
- AnonymousNot applicable
Hi Maruthi_Sharma ,
Just wanted to check if the response provided was helpful. If further assistance is needed, please reach out.
Thank you.
- AnonymousNot applicable
Hi Maruthi_Sharma ,
May I ask if the solution provided has addressed your needs?
If you need any further assistance, feel free to reach out.
Thank you.
- KevinChant
Super User
Hi, I highly recommend looking to work with the fabric-cicd Python library if you are looking to do do this for multiple reports and workspaces:
https://microsoft.github.io/fabric-cicd/0.1.29/
Here's a link to an example Git repository that you can use with GitHub Actions that can help you get started:
https://github.com/kevchant/GitHub-fabric-cicd-sample
If this answers your question please give kudos and/or accept as solution.