Forum Discussion
CI/CD inconsistency for Power Bi Reports
- 1 month ago
Thak you it got fixed.
Hi mohan072,
I’d check the semantic model binding after the deployment before looking at the report itself.
If this is a Direct Lake semantic model over the Lakehouse, a successful item deployment does not necessarily mean the model is now pointing to the data-uat Lakehouse. Microsoft calls this out in the deployment pipeline guidance: Direct Lake semantic models can remain bound to the source-stage Lakehouse unless the data source is rebound for the target environment.
So after your GitHub Action runs, I would verify:
- Which Lakehouse the semantic model in bi-uat is actually connected to.
- Whether that Lakehouse is the one in data-uat, rather than data-dev.
- Whether the report in bi-uat is bound to the UAT semantic model and not the Dev model.
- Whether the UAT semantic model has the required permissions/connection to read the UAT Lakehouse.
Fabric also has dependency binding when items move between Git-connected workspaces, but the exact behaviour depends on the deployment method and whether Fabric can resolve the target dependency.
Kevin’s question above is therefore important too. If you can share whether the GitHub Action is using fabric-cicd, Fabric REST APIs, deployment pipeline APIs, or something else, that would narrow down where the binding needs to be handled.
If the report opens successfully but every visual is failing, I’d inspect those UAT item bindings first. A deployment can complete without the data dependency ending up where you expected it.
AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.
- mohan0721 month agoRegular Visitor
Hi Shivek,
Thank you for responding and assistance. I'm using Fabric REST APIs to achieve the deployments to UAT environment.
1. I verified that deployed semantic model in bi-uat is connected to lakehouse in data-uat and there were no warnings too. During the run time, it automatically replaces ( using powershell) the workspace id and lakehouse id with actual ids of uat. Hence it is showing the right lakehouse of uat.
2. I verified too the report in bi-uat is bound to UAT semantic model. I used the below command to check and it shows the correct listings.
fab api -A powerbi "groups/${{ vars.UAT_BI_WORKSPACE_ID }}/reports" --show_headers
3. I'm using Managed Identity that has contributor access to both workspaces which are data-uat and bi-uat.
4. Yes I'm using a single yml file that has two jobs, job-1 will deploy semantic model, refresh semantic model, sleep for 30 sec, and job-2 executes and will deploy reports.
I think I may be missing something for this report behaviour, but could not identify where exactly this is causing the issue.
Just to give you my current deployment process. The CI (build) is, it will just create and upload the entire code as artifact
The CD (deploy) is, it will download the artifact and replaces the workspace id and lakehouse ids of dev with UAT ids and then performs the deployments.
Appreciate your help if there is anything that I could check to bring down the issue to closure.
- mohan0721 month agoRegular Visitor
Hi Shivek - Thank you for responding and assistance.
I'm using Fabric REST APIs (fab deploy) to achieve the deployments to UAT environment.
1. I verified that the deployed semantic model in bi-uat is connected to lakehouse in data-uat and there exists no warnings too
2. I did perform the following command to check if the report is bound to semantic model in bi-uat and yes it is connected to the right semantic model
fab api -A powerbi "groups/${{ vars.UAT_WORKSPACE_ID }}/reports" --show_headers
3. We use only a single YML file that has 2 jobs, job-1 will deploy semantic model, refreshes semantic model. Job-2 will deploy reports.
4.I'm using Managed Identity that has contributor access to both workspaces, data-uat and bi-uat.
Just to give you the current process approach. The CI (build) is, will upload the code as artifact. The CD (deploy) is, will download the artifact, replace the workspace id and lakehouse id of dev with UAT ids and deploy
I'm not able to identify which is causing this issue, but I believe there is something thatbis causing this issue.
Appreciate your help if there is anything I could check to fix this issue.
- mohan0721 month agoRegular Visitor
Hi Shivek - Thank you for responding and assistance.
I'm using Fabric REST APIs (fab deploy) to achieve the deployments to UAT environment.
1. I verified that the deployed semantic model in bi-uat is connected to lakehouse in data-uat and there exists no warnings too
2. I did perform the following command to check if the report is bound to semantic model in bi-uat and yes it is connected to the right semantic model
fab api -A powerbi "groups/${{ vars.UAT_WORKSPACE_ID }}/reports" --show_headers
3. We use only a single YML file that has 2 jobs, job-1 will deploy semantic model, refreshes semantic model. Job-2 will deploy reports.
4.I'm using Managed Identity that has contributor access to both workspaces, data-uat and bi-uat.
Just to give you the current process approach. The CI (build) is, will upload the code as artifact. The CD (deploy) is, will download the artifact, replace the workspace id and lakehouse id of dev with UAT ids and deploy
I'm not able to identify which is causing this issue, but I believe there is something thatbis causing this issue.Appreciate your help if there is anything I could check to fix this issue.