Description

Bitbucket is a source code version control repository hosting service owned by Atlassian. It contains tools to manage source code for a project. The BitBucket Server plugin provides for integration with a BitBucket server.

Quick Info

Product
HCL Accelerate
Type
plugin
Compatibility
HCL Accelerate 2.0.0 or later
Created by
HCL Accelerate
Updated Date
January 10, 2022
Version Name Modified date Action

1.0.22

ucv-ext-bitbucket-server:1.0.22.tar 08-Feb-2021 07:31

1.0.23

ucv-ext-bitbucket-server:1.0.23.tar 08-Feb-2021 07:31

1.0.42

ucv-ext-bitbucket-server:1.0.42.tar 22-Jun-2021 11:48

1.1.5

ucv-ext-bitbucket-server:1.1.5.tar 10-Jan-2022 06:38

ucv-ext-bitbucket-server:1.0.22.tar

1.0.22


ucv-ext-bitbucket-server:1.0.23.tar

1.0.23


ucv-ext-bitbucket-server:1.0.42.tar

1.0.42


ucv-ext-bitbucket-server:1.1.5.tar

1.1.5


Summary

The BitBucket Server plugin provides for integration with a BitBucket server.

Compatibility

This plugin requires HCL Accelerate 2.0.0 or later.

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
1.1.5 Multiple Repository Support and User AccessKey Changes
1.0.42 Added support to pull commits from additional branches
1.0.23 Minor enhancements
1.0.22 Minor enhancements

Usage

To use the BitBucket Server plugin, the plugin must be loaded and an instance created before you can configure the plugin integration. You define configuration properties in the user interface or in a JSON file.

Integration type

The BitBucket Server plugin supports scheduled events integration which are listed in the following table.

Name Description
syncBitBucketServerPullRequestsEvent Queries the BitBucket Server for pull requests in a project.
syncBitBucketServerCommitsEvent Queries the BitBucket Server for commits in a project.

Integration

There are two methods to integrate the plugin:

  • Using the user interface
  • Using a JSON file

Using the user interface

  1. From the Plugins page, click Settings > Integrations > Plugins.
  2. Under the Action column for the plugin, click Add Integration.
  3. On the Add Integration page enter values for the fields used to configure the integration and define communication.
  4. Click Save.

Using a JSON file

The JSON file contains the information for creating a value stream and integrating with the BitBucket server. The following table describes the information for the creating a HCL Accelerate value stream map.

  1. From a value stream page, download the value stream map. The value stream map is a JSON file used to define integrations.
  2. Edit the JSON file to include the plugin configuration properties.
  3. Save and upload the JSON file. This replaces the current JSON file with the new content.
  4. View the new integration on the Integrations page.

Configuration Properties

The following tables describe the properties used to configure the integration. Each table contains the field name when using the user interface and the property name when using a JSON file.

  • The General Configuration Properties table describes configuration properties used by all plugin integrations.
  • The Bitbucket Server Configuration Properties table describes the BitBucket Server configuration properties that define the connection and communications with the Bitbucket server. When using the JSON method to integrate the plugin these properties are coded within the properties configuration property.

Some properties might not be displayed in the user interface, to see all properties enable the Show Hidden Properties field.

General Configuration Properties
Name Description Required Property Name
NA The version of the plugin that you want to use. To view available versions, click the Version History tab. If a value is not specified, the version named latest is used. No image
Integration Name An assigned name to the value stream. Yes name
Logging Level The level of Log4j messages to display in the log file. Valid values are: all, debug, info, warn, error, fatal, off, and trace. No loggingLevel
NA List of plugin configuration properties used to connect and communicate with the BitBucket server. Enclose the properties within braces. Yes properties
The name of the tenant. Yes tenant_id
NA Unique identifier assigned to the plugin. The value for the BitBucket Server plugin is ucv-ext-bitbucket-server Yes type
Bitbucket Properties
Name Type Description Required Property Name
Access Token String The access token for oauth authentication. No access_token
Access Token Secret Secure The access token secret for oauth authentication. No access_token_secret
API URL String The URL to the API. Yes baseApiUrl
Consumer Key String The consumer key for oauth authentication. No consumer_key
Consumer Secret Secure The consumer secret for oauth authentication. No consumer_secret
Password Secure The password associated with the user name to authenticate with the BitBucket server. Yes password
Project Key String The repository project key. Yes projectKey
Project Name String The name of the project which contains one or more repositories. Yes projectName
Repository Name String The name of the repository. Yes repositoryName
Repository Slug String The slug of the repository. Yes repositorySlug
Signature Method String The name of the signature method for oauth authentication. No signature_method
User Name String The user name used to authenticate with the Bitbucket server. No username
Additional branches Array Additional branches to collect commits from besides the main one, leave blank if not needed. No otherBranches

JSON code sample

The following sample code can be used as a template to define the integration within the JSON file for a value stream. Copy and paste the template into the JSON file Integration section and make the appropriate changes.


{ 
     "type": "ucv-ext-bitbucket-server", 
      "tenant_id": "5ade13625558f2c6688d15ce", 
      "name": "my-bitbucket", 
      "loggingLevel": "info",
      "disabled": false, 
      "properties": { 
        "baseApiUrl": "[Base URL ex: https://10.134.116.110:7990/rest/api/1.0]", 
        "username": "admin", 
        "password": "[Basic user password]", 
        "projectName": "[Full project name ex: JKE Mortgage Application]", 
        "projectKey": "[Project key ex: JMA]", 
        "repositoryName": "[app repository name ex: web-application]", 
        "repositorySlug": "[app repository name ex: web-application]" 
      } 
    }