maikvandergaag / msft-extensions

Repository for extensions mainly used for Azure DevOps Extensions
https://msftplayground.com
MIT License
125 stars 81 forks source link

Ability to dynamically update parameters/refresh dataset for multiple pbix in a workspace #427

Open ctimoftey opened 2 years ago

ctimoftey commented 2 years ago

For which extension would you like to add a feature request? PowerBIActions@5 Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like Hi Maik We can deploy multiple .pbix files to a workspace via *.pbix, which is great! But the number of reports we can deploy to a workspace is not known and it can be 2 or 5 or 10 or unknows so currently we have to hardcode the PowerbiAction@to to update parameters/takeover/update gateway for each of these pbix reports inside our yaml pipeline Is there any way we can wrap these actions which required the DatasetName in a loop I tried to use the - ${{ each loop provided by yaml but that does not work since it only accepts parameter and this currently has to be hardcoded...

Maybe this is a new feature or something you have in your mind also. Thank you Grig A clear and concise description of what you want to happen.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

maikvandergaag commented 2 years ago

Hi @ctimoftey,

Could you give me more info on how you guys now work with Power BI to provide me with some more insights on how we could build this into the extension?

A call could also be an option.

ctimoftey commented 2 years ago

Hi Maik,

Sure we can setup a zoom call if you would like to I am on west cost US Pacific time Please send me your info and the availability times.

Thank you, Grig

ctimoftey commented 2 years ago

Hi Maik, I did send you a private email and we can discuss further using that email. Thank you, Grig

conorh-devops commented 1 year ago

Hi, it sounds like using a pipeline template with the actions you want to do on your report could help.

You can then use the for each loop in the main pipeline to call the template and pass in the parameter values to update each report.

You will need a parameter object in your main pipeline but I think this would solve this problem for you or anyone else who might be looking for a similar solution.

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&pivots=templates-includes https://learn.microsoft.com/en-us/azure/devops/pipelines/process/template-parameters?view=azure-devops https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops

Example of using object parameter and loop:

parameters: