Forum Discussion
Fabric CICD Semantic model autobinding feature workspaces
Hi all!
Our team has a full CI/CD pipeline in ADO using fabric-cicd, working with Reports, Semantic Models, and Paginated Reports. Each developer has one persistent personal Dev workspace, connected via git to whichever branch they're working on.
Reports and Semantic Models rebind fine when someone switches their workspace to a different branch; no issue there, since they're currently colocated in the same workspace and use byPath references. The pain today is specifically Paginated Reports: a .rdl file hardcodes its data source as an XMLA connection string pointing at a specific semantic-model GUID in a specific workspace. That connection isn't part of Fabric's git sync at all, so when a reviewer checks out someone else's branch, everything else rebinds correctly except the paginated report: it's still silently pointing at the original author's workspace.
We use fabric-cicd 1.2's native find_replace parameterization for Test/Prod deployment, and that works great, but it only fires at deploy time against a fixed environment in parameter.yml, with no concept of "whichever developer is reviewing this branch right now." So it doesn't help at the branch-switch/review stage. We currently work around it with a separate pipeline that manually re-patches the .rdl connection via the Power BI Imports API, but someone has to remember to run it.
We're planning to eventually split Semantic Models into their own dedicated workspace, separate from Reports. Once that happens, Report→Semantic Model references switch from byPath (same workspace, auto-rebinds) to byConnection, which is the same as our current .rdl problem, except it'd then apply to ordinary Reports too, not just paginated ones.
So, has anyone solved automatic re-pointing of byConnection references (paginated report or otherwise) on branch checkout/review, or dealt with this at scale after splitting Semantic Models into their own workspace? Curious whether there's something we're missing.
Thanks!
Hi nano0102,
I do not think you are missing a native setting here.
Microsoft’s current cross-workspace dependency-binding guidance indicates that paginated reports do not automatically rebind to a semantic model in another workspace when the RDL contains workspace-specific model IDs.
Because of that, I would automate the repair step you already use:
- Synchronise or deploy the selected branch.
- Find the semantic model in the reviewer workspace.
- Replace the workspace and model IDs in the RDL connection.
- Update the paginated report and validate it.
The documented Update Paginated Report Definition API could be used for this post-deployment rewrite.
I would make the step automatic and idempotent rather than relying on someone to run a separate pipeline manually.
The same issue will become relevant to standard reports after you move semantic models into a separate workspace, because those reports will use byConnection rather than the colocated byPath reference.
So my understanding is:
- byPath works well for colocated reports and semantic models.
- Cross-workspace references containing explicit IDs do not currently auto-rebind in this workflow.
- An automated post-sync or post-deployment rewrite is the practical solution for now.
I hope this helps confirm that you are not missing anything on your side. It would be great to hear how you eventually automate the rebinding, as I’m sure others will run into the same CI/CD limitation.
AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.
3 Replies
- v-saisrao-msft
Community Support
Hi nano0102,
Have you had a chance to review the solution shared by ShivekMaharaj? If the issue persists, feel free to reply so we can help further.
Thank you.
- v-saisrao-msft
Community Support
HI nano0102,
Checking in to see if your issue has been resolved. let us know if you still need any assistance.
Thank you.
- ShivekMaharaj
Memorable Member
Hi nano0102,
I do not think you are missing a native setting here.
Microsoft’s current cross-workspace dependency-binding guidance indicates that paginated reports do not automatically rebind to a semantic model in another workspace when the RDL contains workspace-specific model IDs.
Because of that, I would automate the repair step you already use:
- Synchronise or deploy the selected branch.
- Find the semantic model in the reviewer workspace.
- Replace the workspace and model IDs in the RDL connection.
- Update the paginated report and validate it.
The documented Update Paginated Report Definition API could be used for this post-deployment rewrite.
I would make the step automatic and idempotent rather than relying on someone to run a separate pipeline manually.
The same issue will become relevant to standard reports after you move semantic models into a separate workspace, because those reports will use byConnection rather than the colocated byPath reference.
So my understanding is:
- byPath works well for colocated reports and semantic models.
- Cross-workspace references containing explicit IDs do not currently auto-rebind in this workflow.
- An automated post-sync or post-deployment rewrite is the practical solution for now.
I hope this helps confirm that you are not missing anything on your side. It would be great to hear how you eventually automate the rebinding, as I’m sure others will run into the same CI/CD limitation.
AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.