Skip to content

Bitbucket Data Center and Server

Authentication

First, create a HTTP access token for the bot account. Let Renovate use your HTTP access token by doing one of the following:

  • Set your HTTP access token as a token in your config.js file
  • Set your HTTP access token as an environment variable RENOVATE_TOKEN
  • Set your HTTP access token when you run Renovate in the CLI with --token=

If you use project or repository based HTTP access tokens, it can only be used as token.

Remember to set platform=bitbucket-server somewhere in your Renovate config file.

If you're not using @renovate-bot as username then set your custom username for the bot account.

If you use MySQL or MariaDB you must set unicodeEmoji to false in the global bot config (RENOVATE_CONFIG_FILE) to prevent issues with emojis.

Unsupported platform features/concepts

  • Adding assignees to PRs not supported (does not seem to be a Bitbucket concept)
  • Adding/removing labels (Bitbucket limitation)

Features awaiting implementation

  • Creating issues not implemented yet, used to alert users when there is a config error
  • The automergeStrategy configuration option has not been implemented for this platform, and all values behave as if the value auto was used. Renovate will implicitly use the merge strategy configured as 'default' in the Bitbucket Server repository itself, and this cannot be overridden yet

Testing

If you want a test Bitbucket server locally rather than with your production server, Atlassian's Bitbucket Server Docker image is really convenient.

In line with their instructions, the following commands bring up a new server:

docker volume create --name bitbucketVolume
docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server:5.12.3

Once it's running and initialized, the quickest way to testing with Renovate is:

  1. Create the admin user as prompted
  2. Create a new project and a repository for that project
  3. Make sure the repository has a package file in it for Renovate to find, e.g. .nvmrc or package.json
  4. Create a dedicated Renovate user @renovate-bot and grant it write access to the project
  5. Note down the password for @renovate-bot and use it in the Renovate CLI

At this point you should have a project ready for Renovate, and the @renovate-bot account ready to run on it. You can then run like this:

npx renovate --platform=bitbucket-server --endpoint=http://localhost:7990 --git-fs=http --username=renovate-bot --password=abc123456789! --log-level=debug --autodiscover=true

Alternatively using env:

export RENOVATE_PLATFORM=bitbucket-server
export RENOVATE_ENDPOINT=http://localhost:7990
export RENOVATE_GIT_FS=http
export RENOVATE_USERNAME=renovate-bot
export RENOVATE_PASSWORD=abc123456789!
export LOG_LEVEL=debug
npx renovate --autodiscover=true

You should then get a "Configure Renovate" onboarding PR in any projects that @renovate-bot has been invited to.

Supported versions

We support all Bitbucket Server versions which are not EOL. See Atlassian Support End of Life Policy for up-to-date versions.

Open items

The below list of features and bugs were current when this page was generated on November 14, 2024.

Feature requests

  • Implement the explicit automergeStrategy for the Bitbucket Server platform. #10867
  • Add connection check for Bitbucket Server platform init #9595
  • Support changelogs from bitbucket-server #3903

Bug reports

  • Incomplete bitbucket-server user with empty email string results in invalid gitAuthor #31175