Thanks for reaching out. I’ve added Shawn to the conversation. He’s the creator of the step template, and i’m sure he’ll be able to give you an answer better than anyone else
After checking, I found where is the step template is declared and the powershell script that will be execute with helpful commonet. Now it is cleear for me.
Greetings! SSRS includes some Web Services (.asmx) when installed (https://msdn.microsoft.com/en-us/library/ms155398(v=sql.105).aspx). The PowerShell included in the Step Template makes use of these Web Services to automatically upload reports, attach datasources, and update report parameters.
The Report Folder is simply the relative url of where the report is to be uploaded. For example, off the root of the SSRS instance you have a folder called TestReports, the entry would be /TestReports.
Once you upload the NuGet package to the target tentacle, the PowerShell script uses the location of the uploaded package (SSRS Package Step) to gather all of the .rdl files and upload them to the SSRS instance. There is no need to extract the package manually.
Nice clean script, thumps up. Nice to have automatic rollback script in case of failure to restore the backed up report, Also set the parameter value something you don’t need to do every time after you set the default values for each customer (I will add extra parameter to make it optional).
Thanks! That was originally a C# application that I ported over to PowerShell. Learned somet interesting things about PowerShell in the development process
I notice the we always override the report default values, also when we back up the report the script does not backup the latest version of parameters default values. Do you have any Idea how to not override the parameters default value?
Mohammad Tamim │ Senior Software Application Developer, CMS
I apologize Mohammad, I don’t fully understand what you are referring to. There is (or at least was) a known bug in SSRS where if you upload a report with default parameters and then later change the default values and upload the report again, the default parameters on the SSRS server would not change. The Update-ReportParamters method was written to force the SSRS server to update the default parameter values to what is in the report definition. If you’d like the SSRS server not to be updated, simply comment out the Update-ReportParameters method call in the PowerShell to bypass.
The Backup-ExistingItem method simply downloads the report definition from the report server, it should have the default values that are contained in the report definition. If you upload a backup to the report server manually, you face the bug I previously mentioned and the report parameters will not get set back to what they were in the backup. You would need to call the Update-ReportParamters method to set them back to what they used to be.
In my organization, we use Team Foundation Server as our source control solution. To create the SSRS NuGet package, I created a Build Step using PowerShell to invoke devenv.exe to perform the build. After the build is complete, I invoke Octo.exe to package up the bin<build configuration> into NuGet package and upload that to the internal NuGet server within Octopus.
@Asan You’re running into the same issue I did, MS Build does not know how to build SSRS, SSIS, or SSAS project types. Which version of TFS are you using?