Configure a Receive Location for the CData BizTalk Adapter for Bitbucket



Pull Bitbucket data in BizTalk using the CData BizTalk Adapter for Bitbucket. Use receive locations to execute SQL commands and automate actions in Bitbucket.

You can follow the procedure in this article to connect to Bitbucket data, configure a static one-way receive location, and use it to perform a simple test: retrieving Bitbucket data and writing it to an XML file.

A receive location can execute SQL commands and create BizTalk messages that contain the results. If you want to execute updategram commands, use a send port.

Create the Receive Port

To add a receive location to your application, you first need to add a receive port. Receive ports can receive data from multiple receive locations.

  1. If you have not already done so, open your application in the BizTalk Administration Console.
  2. In your application, right-click Receive Ports and click New -> Static One-Way Receive Port. The Receive Port Properties dialog is displayed.
  3. In the Name menu, enter a name for the receive port.

Create the Receive Location

After you create the receive port, create the receive location and configure it to use the Bitbucket adapter as its transport type.

  1. Right-click Receive Locations and click New -> One-Way Receive Location.
  2. Select the appropriate receive port of which the new receive location will be a member. The Receive Location Properties dialog is displayed.
  3. In the Name menu, enter a name for the receive location.
  4. In the Receive Location properties, select CData.Bitbucket in the Transport Type menu.
  5. In the Receive pipeline menu, select the default option, PassThruReceive.

Configure the Adapter

In the Transport Properties dialog, specify the command that the adapter will execute.

  1. In the receive location properties, click Configure. The Transport Properties dialog for the adapter is displayed.
  2. In the SQL Command property, enter the command. This example uses SELECT Title, ContentRaw FROM Issues WHERE Id = '1'
Refer to the "Adapter Configuration" chapter for the available adapter configuration properties.

Configure the Connection String

Set credentials and other connection properties in the Connection String Options dialog.

  1. In the receive location properties, click Configure. The adapter properties dialog is displayed.
  2. Click the button in the Connection String property.
  3. Click the box in the Connection String property. The Connection String Options dialog is displayed.
  4. Enter connection properties. Below is a typical connection string: 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:

    1. Go to Settings (the gear icon) and select Workspace Settings.
    2. In the Apps and Features section, select OAuth Consumers.
    3. Click Add Consumer.
    4. Enter a name and description for your custom application.
    5. 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.
    6. 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.
    7. Select which permissions to give your OAuth application. These determine what data you can read and write with it.
    8. To save the new custom application, click Save.
    9. 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.

  5. Click Test Connection to verify the connection values and test connectivity.

Refer to the help documentation for a description of the various properties and their functions.

Use a Send Port to Write Data to an XML File

The Static One-Way Receive Location is now ready for use with a send port: A send port must be associated with the BizTalk message that is created by the receive location. To write data to a file, create a file send port.

  1. In the BizTalk Administration console, right-click Send Ports -> New -> Static One-Way Send Port.
  2. Enter a name for the send port at the top of the configuration window and select FILE from the Type menu.

  3. Configure a destination folder; this will be the location where the files are created on disk.
  4. For the file name, a macro can be used to easily identify what day the file was created. By default, %MessageId%.xml is used. However, this is not a very user-friendly name, as it is a randomly generated BizTalk Id. To produce a file in the format Issues_yyyy-MM-dd.xml, enter Issues_%Date%.xml.

    Note: For additional information regarding macros, visit the BizTalk Configuration section in the help documentation.

  5. Click OK. The URI field should now contain a value.
  6. Click Filters in the left-hand side of the configuration screen for the send port.
  7. Set the following properties:
    Property: Select "BTS.InboundTransportLocation" from the menu.
    Operator: Select "==" from the menu.
    Value: Enter the URI of the receive location. The URI is shown in the receive location properties.

You can now use the send port to write files that have been sent from the receive location.

Enlist and Enable the Locations and Ports

The final step is to enlist the send port and enable the receive location: Right-click the send port and click Enlist. Then right-click the receive location and click Enable.

Note: Enable the receive location last: This makes sure the file gets picked up for writing by the send port.

Troubleshooting

To check if errors are occurring, expand "Event Viewer (Local)" in the navigation tree in the Administration Console. Expand Windows Logs and click Applications.

The log will include error messages for all applications on the system, so it is important to check that the source of the error message is "CData BizTalk Bitbucket Receive Adapter". Details of the error message should provide insight into why the error is occurring. For guidance on resolving the error, contact [email protected].

Ready to get started?

Learn more:

Bitbucket Connectivity Solutions