BITBUCKET_DATA_CENTER_CONFIG_NAME 是 Bitbucket Data Center 設定的名稱。
PROJECT_KEY 是 Bitbucket Data Center 專案的金鑰。如要連結個人存放區,專案金鑰的使用者名稱前應包含波浪號 (~) 符號。例如,~${USERNAME}。主機存放區的完整網址與 https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG} 類似。
OPERATION_ID 是 Bitbucket Data Center 設定建立作業的 ID。您可以在回應的 name 欄位中找到作業 ID。回應中 name 欄位的格式如下:
projects/project-id/locations/region/operations/operation-id。
您可能需要持續執行 GetOperation API 指令,直到回應包含 done: true 為止,這表示作業已完成。如果 Bitbucket Data Center 存放區已成功連結,您可以在「response.bitbucketServerConnectedRepositories」欄位中看到連結的存放區。否則,請參閱 error 欄位中的詳細錯誤報告。
連結存放區後,Cloud Build 會在 Bitbucket Data Center 執行個體中的存放區設定 Webhook。當您變更存放區時,存放區會傳送 Webhook,叫用對應的 Bitbucket Data Center 觸發程序。存放區也可以透過多個主機連線多次連線。如要瞭解如何管理 Webhook,請參閱「管理 Webhook」。
如要找出 Webhook,您需要 Webhook ID。每個已連結存放區的 Webhook ID 都會顯示在 BitbucketServerConfig 中。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[[["\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)."]]