Bitbucket Server (On-Premise) Integration

Applies to Collaborator 11.5, last modified on December 21, 2021

About

  • You use the Bitbucket Server (On-Premise) integration to track changes in repositories stored at your Bitbucket Server.

    Collaborator can work with repositories of both Git and Mercurial types.

    Bitbucket Server version 5.4 or later is supported.

  • When you integrate Collaborator with some Bitbucket Server repository, your Collaborator server creates reviews automatically for pull requests in that repo, as well as for push events that occur in that repo. For complete information on what the integration means and how you can benefit from it, see Integration With Repository Hosting Services.

  • To inform Collaborator about changes, Bitbucket Server uses a webhook that sends notification messages to your Collaborator server.

  • To set up the webhook and other integration parameters, you need to set up some options in Collaborator and in Bitbucket Server. See below for details.

  • Do not confuse Bitbucket Server (On-Premise) and Bitbucket integration types. Use the Bitbucket Server type to track changes in repositories stored on your Bitbucket Server. To integrate with repositories stored at the bitbucket.com website, use the Bitbucket integration type.

Requirements

  • Your Collaborator server must be accessible to your Bitbucket server and vice versa. You may need to configure your firewall or enable tunneled connections to expose the server’s External URL to your Bitbucket server. If needed, ask your system administrator for help.

  • To configure integration settings in Collaborator, you need Administrator privileges.

  • Also, you need to know the user name and password of the administrator user on your Bitbucket server.

1. Set up integration

Collaborator offers two groups of settings for configuring integration with remote repositories:

Settings When to use
Easy Add Repository tab We recommend using these settings to set up new connections to your repositories quickly.
Configure Remote Systems tab Use these settings to configure existing connections. Though you can use these settings to set up integration, the settings on the “Easy Add Repository” tab will help you do this faster.

Easy Add Repository tab (recommended)

  1. Log in to Collaborator as administrator. (To integrate with Bitbucket server, you need administrator privileges in Collaborator).

  2. On the Collaborator main toolbar, click ADMIN, and then select Remote System Integration from the tree on the left. Then switch to the Easy Add Repository tab.

  3. On the tab, select Bitbucket Server (On-Premise) in the Add repository for box and click Next:

    Integration with Bitbucket Server: Start

    Click the image to enlarge it.

  4. Collaborator will displays a page with connection details.

    Fill in the edit boxes:

    Integration with Bitbucket Server: Settings

    Click the image to enlarge it.

    Setting Description

    Admin username

    Required. The user name of the Bitbucket Server administrator.

    Admin password

    Required. The password of the Bitbucket Server administrator.

    Host name

    Required. Denotes the host name of your Bitbucket Server.

    Override existing configurations

    Optional. Specifies whether to override existing configurations that track the same repository URI.

    Branches to track

    Optional. The names of branches to track changes and create reviews on pull requests and direct pushes. Separate multiple branch names with commas.

    You can use Java-style regular expressions to match specific branch names, or you can use the * wildcard (alone, or separated by commas) to match all branches.

    If this field is empty, main branch of the repository will be tracked (master for repos of the Git type and default for repos of the Mercurial type).

    Ignore pushes for branches

    Optional. Specifies branches for which Collaborator will not create reviews on direct pushes.

    You can enter one or several branch names. Separate multiple branch names with commas. You can also use Java-style regular expressions to match specific branch names, or you can use the * wildcard (alone, or separated by commas) to match all branches.

    When review completed

    Optional. Specifies an action to perform when a review corresponding to a pull request was accomplished:

    Value Description
    Do nothing Do not perform any action.
    Merge pull request Merge pull request that matches the review.
    Merge pull request and delete its branch Merge pull request that matches the review and delete the corresponding branch.
    Close pull request Close pull request that matches the review.
    Close pull request and delete its branch Close pull request that matches the review and delete the corresponding branch.

    When review cancelled/deleted/rejected

    Optional. Specifies an action to perform when a review corresponding to a pull request was cancelled, deleted or rejected:

    Value Description
    Do nothing Do not perform any action.
    Close pull request Close pull request that matches the review.
    Close pull request and delete its branch Close pull request that matches the review and delete the corresponding branch.

    Reopen a review when

    Optional. Specifies in what cases Collaborator should reopen completed reviews. May include any combination of the following:

    • when a push to a pull request is made,
    • when a comment is added to a pull request,
    • when a comment is added to commit which is a part of a pull request
  5. After you specified the settings, click Load repositories. This will display a list of repositories on the specified Bitbucket server. Select the repositories to track and click Create for selected.

    Alternatively, you can click Create for all and use the settings for all the available repositories. Collaborator will create an individual configuration for each repository, and will create a webhook for each repo.

Configure Remote Systems tab

  1. Log in to Collaborator as an administrator. (To configure integration settings, you need administrator privileges in Collaborator).

  2. On the Collaborator main toolbar, click ADMIN, and then select Remote System Integration from the tree on the left. Then switch to the Configure Remote Systems tab.

  3. In the New Remote System Configuration section, select Bitbucket Server (On-Premise) and click Create:

    Integration with Bitbucket Server: Start

    Click the image to enlarge it.

  4. Collaborator will display a page with configuration settings. Specify the setting values:

    Setting Description

    Title

    Required. The configuration name as it will be displayed in Collaborator user interface.

    Bitbucket repo URI

    Required. The URI of the desired repository on your Bitbucket Server, for example, http://hostname/projects/PROJ/repos/my_repo.

    You should copy the repository URI from the browser’s address bar, rather than from the repository’s clone URI.

    Both Mercurial and Git repositories are supported.

    Admin username

    Required. The user name of the Bitbucket Server administrator.

    Admin password

    Required. The password of the Bitbucket Server administrator.

    Branches to track

    Optional. The names of branches to track changes and create reviews on pull requests and direct pushes. Separate multiple branch names with commas.

    You can use Java-style regular expressions to match specific branch names, or you can use the * wildcard (alone, or separated by commas) to match all branches.

    If this field is empty, main branch of the repository will be tracked (master for repos of the Git type and default for repos of the Mercurial type).

    Ignore pushes for branches

    Optional. Specifies branches for which Collaborator will not create reviews on direct pushes.

    You can enter one or several branch names. Separate multiple branch names with commas. You can also use Java-style regular expressions to match specific branch names, or you can use the * wildcard (alone, or separated by commas) to match all branches.

    When review completed

    Optional. Specifies an action to perform when a review corresponding to a pull request was accomplished:

    Value Description
    Do nothing Do not perform any action.
    Merge pull request Merge pull request that matches the review.
    Merge pull request and delete its branch Merge pull request that matches the review and delete the corresponding branch.
    Close pull request Close pull request that matches the review.
    Close pull request and delete its branch Close pull request that matches the review and delete the corresponding branch.

    When Review cancelled/deleted/rejected

    Optional. Specifies an action to perform when a review corresponding to a pull request was cancelled, deleted or rejected:

    Value Description
    Do nothing Do not perform any action.
    Close pull request Close pull request that matches the review.
    Close pull request and delete its branch Close pull request that matches the review and delete the corresponding branch.

    Reopen a review when

    Optional. Specifies if integration should reopen completed review when the respective pull request was updated.

    Webhook status

    Indicates the current status of the webhook:

    Status Description
    Webhook is absent The webhook has not been created yet.
    Webhook isn't active The webhook has been created, but is inactive.
    Up and running The webhook is active.
  5. To create or activate a webhook, click Update webhook.

    Important: Click this button, when you set up integration with your repository for the first time.

    To learn more about webhook settings on the Bitbucket side, see Bitbucket documentation:

    https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html

  6. Click Test Connection to verify if you entered data correctly.

    Click Save to store the settings.

2. Enable configuration

After you finished configuring integration settings, you need to enable the integration:

  1. In Collaborator, go to ADMIN > Remote System Integration.
  2. Switch to the Integration Status tab. Here you can enable or disable integrations quickly.
  3. Find the Enable Bitbucket Integration setting and change it to Yes.
Enable Bitbucket Integration

Click the image to enlarge it.

Now the integration between Collaborator and your Bitbucket server is configured and running.

Known Issues

  • You can specify Bitbucket users as reviewers when you are creating a pull request. If your teammates link their Bitbucket accounts with their Collaborator accounts correctly, then Collaborator will automatically add those users as reviewers to the created review on the Collaborator side.

  • If some changes have been made both in feature branch and in upstream branch (for example, by cherry-picking), integration mimics the behavior of the original Bitbucket Server and displays those simultaneous changes in all DiffViewer modes except for the All. In the All mode those changes are ignored.
  • Due to certain limitations on the Bitbucket Server side, Collaborator is unable to create reviews, if paths of submitted files contain the percent symbol (%).

  • To avoid creating reviews for merge commits, keep their messages default or start them with the Merged in substring.

  • In order to create reviews on pull requests from forked repositories, the following conditions must comply:

    • Forked repository of the same repository owner can be public or private.
    • Forked repository of a different repository owner must be public repository.

See Also

Source Control Integrations
Bitbucket Integration

Highlight search results