SQL Server Reporting Services addin for cake build.


Keywords
Cake, Script, Report, Reporting, SSRS, Sql-Server, Build, Sql-Server-Reporting-Services, cake-addin, reporting-services
License
MIT
Install
Install-Package Cake.SSRS -Version 1.1.0

Documentation

Cake.SSRS

Cake.SSRS is set of aliases for Cake that help simplify deploying objects to SQL Server Reporting Services. Release notes can be found here.

License

Information

Stable Pre-release
GitHub Release - GitHub release
NuGet NuGet NuGet

Build Status

Develop Master
Build status Build status

Code Coverage

Coverage Status

Discussion

If you have questions, search for an existing one, or create a new discussion on the Cake GitHub repository, using the Extension Q&A category.

Join in the discussion on the Cake repository

About

This Addin only contains the functionality needed to upload the most common object types to SSRS (Reports, DataSets, and DataSources). Pull requests are accepted if you need additional functionality. Don't forget to include the unit tests with it.

Usage

Creating a Folder

SsrsCreateFolder("AdventureWorks", "/", new SsrsConnectionSettings
    {
        ServiceEndpoint = "http://localhost/reportserver/ReportService2010.asmx",
        UseDefaultCredentials = true,
		ProxyCredentialType = ProxyCredentialType.Ntlm,
		ImperonsationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation,
		SecurityMode = SecurityMode.TransportCredentialOnly
    });

Upload a Report

SsrsUploadReport("./path/to/report.rdl", "/AdventureWorks",
    new Dictionary<string, string>
    {
            ["Description"] = "Description for the Report"
    },
    new SsrsConnectionSettings
    {
        ServiceEndpoint = "http://localhost/reportserver/ReportService2010.asmx",
        UseDefaultCredentials = true,
		ProxyCredentialType = ProxyCredentialType.Ntlm,
		ImperonsationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation,
		SecurityMode = SecurityMode.TransportCredentialOnly
    });

Upload a Shared DataSet

SsrsUploadReport("./path/to/dataset.rsd", "/AdventureWorks",
    new Dictionary<string, string>
    {
            ["Description"] = "Description for the DataSet"
    },
    new SsrsConnectionSettings
    {
        ServiceEndpoint = "http://localhost/reportserver/ReportService2010.asmx",
        UseDefaultCredentials = true,
		ProxyCredentialType = ProxyCredentialType.Ntlm,
		ImperonsationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation,
		SecurityMode = SecurityMode.TransportCredentialOnly

    });

Upload a DataSource

SsrsUploadDataSource("./path/to/datasource.rds", "/AdventureWorks",
    new Dictionary<string, string>
    {
            ["Description"] = "Description for the DataSource"
    },
    new SsrsConnectionSettings
    {
        ServiceEndpoint = "http://localhost/reportserver/ReportService2010.asmx",
        UseDefaultCredentials = true,
		ProxyCredentialType = ProxyCredentialType.Ntlm,
		ImperonsationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation,
		SecurityMode = SecurityMode.TransportCredentialOnly
    });

Search for an Item

var catalogItem = SsrsFindItem ( 
    new FindItemRequest
    {
        Folder = "/AdventureWorks",
        ItemName = "My_Report_Name",
        Recursive = false
    },
    new SsrsConnectionSettings
    {
        ServiceEndpoint = "http://localhost/reportserver/ReportService2010.asmx",
        UseDefaultCredentials = true,
		ProxyCredentialType = ProxyCredentialType.Ntlm,
		ImperonsationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation,
		SecurityMode = SecurityMode.TransportCredentialOnly
    });