You will see the Connect Repository panel. Complete the following
steps to connect your Bitbucket Data Center repository:
Region: Select the region your connection is in.
Under Select source code management provider, select Bitbucket
Data Center.
Host connection: Select the name of your host connection from the
drop-down menu.
Click Continue.
Under Select Repository, select the Bitbucket Data Center repositories
you want to connect to Cloud Build.
Once you have selected your Bitbucket Data Center account and repositories,
read the consent disclaimer and select the checkbox next to it to indicate
that you accept the presented terms.
Click Connect to connect your repositories.
Click Done. Optionally, click Create a trigger to create a trigger.
API
To connect your Bitbucket Data Center repository to Cloud Build
using the API, complete the following steps:
PROJECT_NUMBER is the project number of your
Cloud project.
REGION is the region
associated with your Bitbucket Data Center configuration.
BITBUCKET_DATA_CENTER_CONFIG_NAME is the name of
your Bitbucket Data Center configuration.
PROJECT_KEY is the key of your Bitbucket Data
Center project. If you want to connect a personal repository, your project
key should contain the tilde (~) symbol before your username. For
example, ~${USERNAME}. The complete URL for a host repository is
similar to https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
REPO_SLUG is the
slug
of your Bitbucket Data Center repository.
Run the following curl command in your terminal from the same directory
as the JSON file:
REGION is the region
associated with your Bitbucket Data Center configuration.
BITBUCKET_DATA_CENTER_CONFIG_NAME is the name of
your Bitbucket Data Center configuration.
If successful, the response body contains a newly created instance of
Operation.
PROJECT_NUMBER is your Google Cloud project
number.
PROJECT_ID is your Google Cloud ID.
REGION is the region
associated with your Bitbucket Data Center configuration.
OPERATION_ID is the ID of your Bitbucket Data
Center configuration creation operation. You can find the Operation ID
in the name field of your response. The format of the name field in
your response looks like the following:
projects/project-id/locations/region/operations/operation-id.
You may need to keep running the GetOperation API command until the
response contains done: true, which indicates the operation is
completed. If the Bitbucket Data Center repository is connected
successfully, you can see the connected repository in the
response.bitbucketServerConnectedRepositories field. Otherwise, see the
error field for a detailed error report.
When a repository is connected, Cloud Build configures a webhook on
the repository in your Bitbucket Data Center instance. The repository then
sends webhooks to invoke the corresponding Bitbucket Data Center triggers when
you make changes to your repository. A repository can also be connected
multiple times with multiple host connections. To learn how to manage
webhooks, see
Manage webhooks.
To locate the webhook, you need the webhook ID. The webhook ID for each
connected repository can be found in the BitbucketServerConfig.
Enter the following command to retrieve the webhook ID:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eThis guide outlines the process of connecting a Bitbucket Data Center repository to Cloud Build for automated builds.\u003c/p\u003e\n"],["\u003cp\u003eBefore connecting, you need to enable the Cloud Build, Secret Manager, and Compute Engine APIs and follow instructions to connect a Bitbucket Data Center host.\u003c/p\u003e\n"],["\u003cp\u003eYou can connect using the Google Cloud console by selecting Bitbucket Data Center, your host connection, and then specific repositories.\u003c/p\u003e\n"],["\u003cp\u003eThe API method involves creating a JSON file with specific details, and using \u003ccode\u003ecurl\u003c/code\u003e commands to connect the repository and verify the connection.\u003c/p\u003e\n"],["\u003cp\u003eOnce connected, Cloud Build sets up a webhook in your Bitbucket Data Center instance, and the webhook ID can be retrieved using the \u003ccode\u003egcloud\u003c/code\u003e command.\u003c/p\u003e\n"]]],[],null,["# Connect to a Bitbucket Data Center repository\n\n1st gen 2nd gen\n\nThis page explains how to connect to a [Bitbucket Data Center](https://confluence.atlassian.com/bitbucketserver/bitbucket-data-center-and-server-documentation-776639749.html) repository\nto Cloud Build.\n\nBefore you begin\n----------------\n\n-\n\n\n Enable the Cloud Build, Secret Manager, and Compute Engine APIs.\n\n\n [Enable the APIs](https://console.cloud.google.com/flows/enableapi?apiid=cloudbuild.googleapis.com,secretmanager.googleapis.com,compute.googleapis.com&redirect=https://cloud.google.com/build/docs/automating-builds/bitbucket/connect-host-bitbucket-data-center)\n\n\u003c!-- --\u003e\n\n- Follow the instructions to [connect a Bitbucket Data Center host](/build/docs/automating-builds/bitbucket/connect-host-bitbucket-data-center) before connecting to a repository.\n\nConnect to a Bitbucket Data Center repository\n---------------------------------------------\n\n### Console\n\nTo connect a Bitbucket Data Center repository to Cloud Build\nusing the Google Cloud console:\n\n1. Open the **Repositories** page in the Google Cloud console.\n\n [Open the Repositories page](https://console.cloud.google.com/cloud-build/repositories)\n2. At the top of the page, select the **1st gen** tab.\n\n3. Click **Connect Repository**.\n\n4. Select **Bitbucket Data Center**.\n\n You will see the **Connect Repository** panel. Complete the following\n steps to connect your Bitbucket Data Center repository:\n 1. **Region**: Select the region your connection is in.\n\n 2. Under **Select source code management provider** , select **Bitbucket\n Data Center**.\n\n 3. **Host connection**: Select the name of your host connection from the\n drop-down menu.\n\n 4. Click **Continue**.\n\n 5. Under **Select Repository**, select the Bitbucket Data Center repositories\n you want to connect to Cloud Build.\n\n 6. Once you have selected your Bitbucket Data Center account and repositories,\n read the consent disclaimer and select the checkbox next to it to indicate\n that you accept the presented terms.\n\n 7. Click **Connect** to connect your repositories.\n\n5. Click **Done** . Optionally, click **Create a trigger** to create a trigger.\n\n### API\n\nTo connect your Bitbucket Data Center repository to Cloud Build\nusing the API, complete the following steps:\n\n1. Create a JSON file with the following contents:\n\n {\n \"parent\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_DATA_CENTER_CONFIG_NAME\u003c/var\u003e\",\n \"requests\": {\n \"parent\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_DATA_CENTER_CONFIG_NAME\u003c/var\u003e\",\n \"bitbucketServerConnectedRepository\": {\n \"parent\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_DATA_CENTER_CONFIG_NAME\u003c/var\u003e\",\n \"repo\": {\n \"projectKey\":\"\u003cvar translate=\"no\"\u003ePROJECT_KEY\u003c/var\u003e\",\n \"repoSlug\": \"\u003cvar translate=\"no\"\u003eREPO_SLUG\u003c/var\u003e\",\n }\n }\n }\n }\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e is the project number of your Cloud project.\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the [region](/build/docs/locations) associated with your Bitbucket Data Center configuration.\n - \u003cvar translate=\"no\"\u003eBITBUCKET_DATA_CENTER_CONFIG_NAME\u003c/var\u003e is the name of your Bitbucket Data Center configuration.\n - \u003cvar translate=\"no\"\u003ePROJECT_KEY\u003c/var\u003e is the key of your Bitbucket Data Center project. If you want to connect a personal repository, your project key should contain the tilde (`~`) symbol before your username. For example, `~${USERNAME}`. The complete URL for a host repository is similar to `https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}`.\n - \u003cvar translate=\"no\"\u003eREPO_SLUG\u003c/var\u003e is the [slug](https://support.atlassian.com/bitbucket-cloud/docs/what-is-a-slug/) of your Bitbucket Data Center repository.\n2. Run the following `curl` command in your terminal from the same directory\n as the JSON file:\n\n curl -X POST -H \"Authorization: Bearer \"$(gcloud auth print-access-token) -H \"Content-Type: application/json; charset=utf-8\" -H \"x-goog-user-project: \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e\" https://cloudbuild.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_DATA_CENTER_CONFIG_NAME\u003c/var\u003e/connectedRepositories:batchCreate -d @requests.json\n\nWhere:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e is your Google Cloud project number.\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is your Google Cloud [project ID](/resource-manager/docs/creating-managing-projects#get_an_existing_project).\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the [region](/build/docs/locations) associated with your Bitbucket Data Center configuration.\n- \u003cvar translate=\"no\"\u003eBITBUCKET_DATA_CENTER_CONFIG_NAME\u003c/var\u003e is the name of your Bitbucket Data Center configuration. If successful, the response body contains a newly created instance of [Operation](/build/docs/api/reference/rest/v1/operations#Operation).\n\n1. Run the following `curl` command in your terminal:\n\n curl -X GET -H \"Authorization: Bearer \"$(gcloud auth print-access-token) -H \"Content-Type: application/json; charset=utf-8\" -H \"x-goog-user-project: \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e\" https://cloudbuild.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003ePROJECT_ID\u003c/span\u003e\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eREGION\u003c/span\u003e\u003c/var\u003e/operations/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eOPERATION_ID\u003c/span\u003e\u003c/var\u003e\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e is your Google Cloud project number.\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is your Google Cloud ID.\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the [region](/build/docs/locations) associated with your Bitbucket Data Center configuration.\n - \u003cvar translate=\"no\"\u003eOPERATION_ID\u003c/var\u003e is the ID of your Bitbucket Data Center configuration creation operation. You can find the Operation ID in the `name` field of your response. The format of the `name` field in your response looks like the following: `projects/project-id/locations/region/operations/operation-id`.\n\n You may need to keep running the `GetOperation` API command until the\n response contains `done: true`, which indicates the operation is\n completed. If the Bitbucket Data Center repository is connected\n successfully, you can see the connected repository in the\n `response.bitbucketServerConnectedRepositories` field. Otherwise, see the\n `error` field for a detailed error report.\n\nWhen a repository is connected, Cloud Build configures a webhook on\nthe repository in your Bitbucket Data Center instance. The repository then\nsends webhooks to invoke the corresponding Bitbucket Data Center triggers when\nyou make changes to your repository. A repository can also be connected\nmultiple times with multiple host connections. To learn how to manage\nwebhooks, see\n[Manage webhooks](https://confluence.atlassian.com/bitbucketserver/manage-webhooks-938025878.html#Managewebhooks-troubleshootingwebhooks).\n\nTo locate the webhook, you need the webhook ID. The webhook ID for each\nconnected repository can be found in the `BitbucketServerConfig`.\n\nEnter the following command to retrieve the webhook ID: \n\n gcloud alpha builds enterprise-config bitbucketserver describe \u003cvar translate=\"no\"\u003eCONFIG_NAME\u003c/var\u003e --region=\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e\n\nWhere:\n\n- \u003cvar translate=\"no\"\u003eCONFIG_NAME\u003c/var\u003e is the name of the Bitbucket Data Center config\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the region of the Bitbucket Data Center host connection\n\nWhat's next\n-----------\n\n- Learn how to [build repositories from Bitbucket Data Center](/build/docs/automating-builds/bitbucket/build-repos-from-bitbucket-data-center).\n- Learn how to [build repositories from Bitbucket Data Center in a private network](/build/docs/automating-builds/bitbucket/build-repos-from-bitbucket-data-center-private-network).\n- Learn how to [perform blue/green deployments on Compute Engine](/build/docs/deploying-builds/deploy-compute-engine)."]]