Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Deploy the ADO.NET Provider for Bitbucket on an SSRS Report Server
Connect to Bitbucket data from multiple reports and pick up updates immediately: Create a shared data source on a native mode report server or a report server on a SharePoint farm.
In this article, we will guide you through the deployment process of the CData ADO.NET Provider for Bitbucket on an SQL Server Reporting Services (SSRS) report server. Additionally, you will learn how to establish a shared data source, which facilitates connectivity to real-time Bitbucket data from various reports. You can then access these shared data sources from the Report Designer within Visual Studio. For detailed instructions on creating datasets in Report Designer using ADO.NET, please refer to the "Using ADO.NET" section in the help documentation.
Deploy the ADO.NET Provider
The provider installation automatically deploys the provider on report servers in native mode. On report servers in SharePoint mode, you can use the install-sprs.ps1 PowerShell script to deploy. Simply run the script from the lib subfolder in the installation directory, or pass in the "path" parameter.
Create a Shared Data Source for Bitbucket
You can create shared data sources directly from a report server or SharePoint site. Alternatively, you can use Report Designer to create shared data sources.
Report Designer
You can use Report Designer to create shared data sources on native mode report servers and report servers on a SharePoint server farm.
- In a Report Server Project in Visual Studio, right-click Shared Data Sources in Solution Explorer and click Add New Data Source.
- Enter a name for the data source and in the Type menu select CData Bitbucket Report.
- In the Connection String box, enter the connection string to connect to Bitbucket. A typical connection string is below:
Workspace=myworkspaceslug;Schema=InformationInitiateOAuth=GETANDREFRESH
For most queries, you must set the Workspace. The only exception to this is the Workspaces table, which does not require this property to be set, as querying it provides a list of workspace slugs that can be used to set Workspace. To query this table, you must set Schema to 'Information' and execute the query SELECT * FROM Workspaces>.
Setting Schema to 'Information' displays general information. To connect to Bitbucket, set these parameters:
- Schema: To show general information about a workspace, such as its users, repositories, and projects, set this to Information. Otherwise, set this to the schema of the repository or project you are querying. To get a full set of available schemas, query the sys_schemas table.
- Workspace: Required if you are not querying the Workspaces table. This property is not required for querying the Workspaces table, as that query only returns a list of workspace slugs that can be used to set Workspace.
Authenticating to Bitbucket
Bitbucket supports OAuth authentication only. To enable this authentication from all OAuth flows, you must create a custom OAuth application, and set AuthScheme to OAuth.
Be sure to review the Help documentation for the required connection properties for you specific authentication needs (desktop applications, web applications, and headless machines).
Creating a custom OAuth application
From your Bitbucket account:
- Go to Settings (the gear icon) and select Workspace Settings.
- In the Apps and Features section, select OAuth Consumers.
- Click Add Consumer.
- Enter a name and description for your custom application.
- Set the callback URL:
- For desktop applications and headless machines, use http://localhost:33333 or another port number of your choice. The URI you set here becomes the CallbackURL property.
- For web applications, set the callback URL to a trusted redirect URL. This URL is the web location the user returns to with the token that verifies that your application has been granted access.
- If you plan to use client credentials to authenticate, you must select This is a private consumer. In the driver, you must set AuthScheme to client.
- Select which permissions to give your OAuth application. These determine what data you can read and write with it.
- To save the new custom application, click Save.
- After the application has been saved, you can select it to view its settings. The application's Key and Secret are displayed. Record these for future use. You will use the Key to set the OAuthClientId and the Secret to set the OAuthClientSecret.
When you configure the connection, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.
- Set the folder and server URL in your project properties. If you are publishing to SharePoint, the values for all properties must be fully qualified URLs. For example:
- Report Server: http://MyServerName/ReportServer
- SharePoint: http://MyServerName/MySite/MySubsite
- Right-click the shared data source and click Deploy.
Report Manager
On native mode installations of report server, you can use Report Manager to create shared data sources. You must have permissions to manage data sources on the report server.
- From the Home page in Report Manager, click New Data Source. The New Data Source page is displayed.
- Enter a name for the data source and in the Data Source Type menu, select CData Bitbucket Report.
- In the Connection String box, enter the connection string to connect to Bitbucket. A typical connection string is below:
Workspace=myworkspaceslug;Schema=InformationInitiateOAuth=GETANDREFRESH
For most queries, you must set the Workspace. The only exception to this is the Workspaces table, which does not require this property to be set, as querying it provides a list of workspace slugs that can be used to set Workspace. To query this table, you must set Schema to 'Information' and execute the query SELECT * FROM Workspaces>.
Setting Schema to 'Information' displays general information. To connect to Bitbucket, set these parameters:
- Schema: To show general information about a workspace, such as its users, repositories, and projects, set this to Information. Otherwise, set this to the schema of the repository or project you are querying. To get a full set of available schemas, query the sys_schemas table.
- Workspace: Required if you are not querying the Workspaces table. This property is not required for querying the Workspaces table, as that query only returns a list of workspace slugs that can be used to set Workspace.
Authenticating to Bitbucket
Bitbucket supports OAuth authentication only. To enable this authentication from all OAuth flows, you must create a custom OAuth application, and set AuthScheme to OAuth.
Be sure to review the Help documentation for the required connection properties for you specific authentication needs (desktop applications, web applications, and headless machines).
Creating a custom OAuth application
From your Bitbucket account:
- Go to Settings (the gear icon) and select Workspace Settings.
- In the Apps and Features section, select OAuth Consumers.
- Click Add Consumer.
- Enter a name and description for your custom application.
- Set the callback URL:
- For desktop applications and headless machines, use http://localhost:33333 or another port number of your choice. The URI you set here becomes the CallbackURL property.
- For web applications, set the callback URL to a trusted redirect URL. This URL is the web location the user returns to with the token that verifies that your application has been granted access.
- If you plan to use client credentials to authenticate, you must select This is a private consumer. In the driver, you must set AuthScheme to client.
- Select which permissions to give your OAuth application. These determine what data you can read and write with it.
- To save the new custom application, click Save.
- After the application has been saved, you can select it to view its settings. The application's Key and Secret are displayed. Record these for future use. You will use the Key to set the OAuthClientId and the Secret to set the OAuthClientSecret.
SharePoint
Follow the steps below to create a shared data source on a SharePoint site. Note that this step has the following prerequisites in SharePoint 2013:
- The Reporting Services add-in for SharePoint
- The Report Server Integration site collection feature
Follow the steps below to add the report server content types to your library:
- Log into SharePoint and open the library where you want to save the .rsds file.
- Click Library on the ribbon and then click Library Settings.
- In the General Settings section, click Advanced Settings.
- In the Content Types section, select Yes to allow the management of content types. The Content Types section is added to the Library Settings page.
- On the Library Settings page, click Add from existing site content types.
- In the Available Site Content Types list, select Report Data Source and click Add.
You can then create the shared data source. You will create an .rsds file that contains the connection information to Bitbucket.
- Log into SharePoint and open the library where you want to save the .rsds file.
- On the ribbon click Documents -> New Document -> Report Data Source.
- Enter a name for the data source.
- In the Data Source Type menu, select CData Bitbucket Report.
- In the Connection String box, enter the connection string to connect to Bitbucket. A typical connection string is below:
Workspace=myworkspaceslug;Schema=InformationInitiateOAuth=GETANDREFRESH
For most queries, you must set the Workspace. The only exception to this is the Workspaces table, which does not require this property to be set, as querying it provides a list of workspace slugs that can be used to set Workspace. To query this table, you must set Schema to 'Information' and execute the query SELECT * FROM Workspaces>.
Setting Schema to 'Information' displays general information. To connect to Bitbucket, set these parameters:
- Schema: To show general information about a workspace, such as its users, repositories, and projects, set this to Information. Otherwise, set this to the schema of the repository or project you are querying. To get a full set of available schemas, query the sys_schemas table.
- Workspace: Required if you are not querying the Workspaces table. This property is not required for querying the Workspaces table, as that query only returns a list of workspace slugs that can be used to set Workspace.
Authenticating to Bitbucket
Bitbucket supports OAuth authentication only. To enable this authentication from all OAuth flows, you must create a custom OAuth application, and set AuthScheme to OAuth.
Be sure to review the Help documentation for the required connection properties for you specific authentication needs (desktop applications, web applications, and headless machines).
Creating a custom OAuth application
From your Bitbucket account:
- Go to Settings (the gear icon) and select Workspace Settings.
- In the Apps and Features section, select OAuth Consumers.
- Click Add Consumer.
- Enter a name and description for your custom application.
- Set the callback URL:
- For desktop applications and headless machines, use http://localhost:33333 or another port number of your choice. The URI you set here becomes the CallbackURL property.
- For web applications, set the callback URL to a trusted redirect URL. This URL is the web location the user returns to with the token that verifies that your application has been granted access.
- If you plan to use client credentials to authenticate, you must select This is a private consumer. In the driver, you must set AuthScheme to client.
- Select which permissions to give your OAuth application. These determine what data you can read and write with it.
- To save the new custom application, click Save.
- After the application has been saved, you can select it to view its settings. The application's Key and Secret are displayed. Record these for future use. You will use the Key to set the OAuthClientId and the Secret to set the OAuthClientSecret.