Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Integrate Bitbucket with External Services using SnapLogic
Use CData JDBC drivers in SnapLogic to integrate Bitbucket with External Services.
SnapLogic is an integration platform-as-a-service (iPaaS) that allows users to create data integration flows with no code. When paired with the CData JDBC Drivers, users get access to live data from more than 250+ SaaS, Big Data and NoSQL sources, including Bitbucket, in their SnapLogic workflows.
With built-in optimized data processing, the CData JDBC Driver offers unmatched performance for interacting with live Bitbucket data. When platforms issue complex SQL queries to Bitbucket, the driver pushes supported SQL operations, like filters and aggregations, directly to Bitbucket and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations). Its built-in dynamic metadata querying lets you work with Bitbucket data using native data types.
Connect to Bitbucket in SnapLogic
To connect to Bitbucket data in SnapLogic, download and install the CData Bitbucket JDBC Driver. Follow the installation dialog. When the installation is complete, the JAR file can be found in the installation directory (C:/Program Files/CData/CData JDBC Driver for Bitbucket/lib by default).
Upload the Bitbucket JDBC Driver
After installation, upload the JDBC JAR file to a location in SnapLogic (for example, projects/Jerod Johnson) from the Manager tab.
Configure the Connection
Once the JDBC Driver is uploaded, we can create the connection to Bitbucket.
- Navigate to the Designer tab
- Expand "JDBC" from Snaps and drag a "Generic JDBC - Select" snap onto the designer
- Click Add Account (or select an existing one) and click "Continue"
- In the next form, configure the JDBC connection properties:
- Under JDBC JARs, add the JAR file we previously uploaded
- Set JDBC Driver Class to cdata.jdbc.bitbucket.BitbucketDriver
Set JDBC URL to a JDBC connection string for the Bitbucket JDBC Driver, for example:
jdbc:bitbucket:Workspace=myworkspaceslug;Schema=InformationRTK=XXXXXX;InitiateOAuth=GETANDREFRESH
NOTE: RTK is a trial or full key. Contact our Support team for more information.
Built-In Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Bitbucket JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.bitbucket.jar
Fill in the connection properties and copy the connection string to the clipboard.
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.
- After entering the connection properties, click "Validate" and "Apply"
Read Bitbucket Data
In the form that opens after validating and applying the connection, configure your query.
- Set Schema name to "Bitbucket"
- Set Table name to a table for Bitbucket using the schema name, for example: "Bitbucket"."Issues" (use the drop-down to see the full list of available tables)
- Add Output fields for each item you wish to work with from the table
Save the Generic JDBC - Select snap.
With connection and query configured, click the end of the snap to preview the data (highlighted below).
Once you confirm the results are what you expect, you can add additional snaps to funnel your Bitbucket data to another endpoint.
Piping Bitbucket Data to External Services
For this article, we will load data in a Google Spreadsheet. You can use any of the supported snaps, or even use a Generic JDBC snap with another CData JDBC Driver, to move data into an external service.
- Start by dropping a "Worksheet Writer" snap onto the end of the "Generic JDBC - Select" snap.
- Add an account to connect to Google Sheets
- Configure the Worksheet Writer snap to write your Bitbucket data to a Google Spreadsheet
You can now execute the fully configured pipeline to extract data from Bitbucket and push it into a Google Spreadsheet.
Piping External Data to Bitbucket
As mentioned above, you can also use the JDBC Driver for Bitbucket in SnapLogic to write data to Bitbucket. Start by adding a Generic JDBC - Insert or Generic JDBC - Update snap to the dashboard.
- Select the existing "Account" (connection) or create a new one
- Configure the query:
- Set Schema name to "Bitbucket"
- Set Table name to a table for Bitbucket using the schema name, for example: "Bitbucket"."Issues" (use the drop-down to see the full list of available tables)
- Save the Generic JDBC - Insert/Update snap
At this point, you have configured a snap to write data to Bitbucket, inserting new records or updating existing ones.
More Information & Free Trial
Using the CData JDBC Driver for Bitbucket you can create a pipeline in SnapLogic for integrating Bitbucket data with external services. For more information about connecting to Bitbucket, check at our CData JDBC Driver for Bitbucket page. Download a free, 30 day trial of the CData JDBC Driver for Bitbucket and get started today.