> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Bitbucket

> Kết nối Bitbucket Cloud để agent đọc repository, pull request và pipeline, còn Review có thể bình luận trên pull request

Kết nối Bitbucket để các agent CloudThinker đọc repository, pull request và pipeline của bạn, và [Review](https://docs.cloudthinker.io/vi/guide/code-review/overview.md) có thể đăng review mã bằng AI trên pull request. Bạn đăng nhập bằng **OAuth**, hoặc dán một **access token cấp workspace, project hoặc repository**. Cả hai cách đều cần workspace slug của bạn.

## Điều kiện tiên quyết

* Một tài khoản Bitbucket Cloud có quyền truy cập workspace mà bạn muốn agent đọc. Kết nối làm việc với `bitbucket.org` và không có trường cho URL Bitbucket Data Center hoặc Server.
* **Workspace slug** của bạn: phần sau `bitbucket.org/` trong URL repository. Trong `bitbucket.org/acme/payments-api`, slug là `acme`.
* Với cách dùng token: quyền admin trên workspace, project hoặc repository nơi bạn tạo token.
* Với Review qua OAuth: quyền admin trên các repository mà Review chạy, vì Bitbucket chỉ cho admin repository thêm webhook.
* Vai trò **Admin** trong workspace CloudThinker, vai trò có thể thêm và sửa kết nối. Xem [Vai trò](https://docs.cloudthinker.io/vi/guide/security/roles.md).

## Chọn phương thức

| Phương thức | Dùng khi | Gói Bitbucket |
| - | - | - |
| **OAuth** | Bạn muốn thiết lập nhanh nhất và quyền truy cập khớp với tài khoản của chính bạn | Bất kỳ |
| **Workspace Access Token** | Một thông tin xác thực duy nhất cần bao phủ mọi repository trong workspace | Premium |
| **Project Access Token** | Quyền truy cập chỉ nằm trong một project Bitbucket | Premium |
| **Repository Access Token** | Quyền truy cập bao phủ đúng một repository | Bất kỳ, kể cả Free |

Mỗi workspace chỉ có một kết nối Bitbucket. Để thử CloudThinker trên nhiều repository, hãy dùng token cấp project hoặc workspace, hoặc OAuth, thay vì nhiều token repository.

## Thiết lập

Mở kết nối trước. Trong thanh bên, nhấn **More → Workspace settings → Connections**. Ở tab **Builtin Connections**, tìm **Bitbucket** và nhấn **Connect**. Hộp thoại mở với hai tab: **OAuth** và **Access Token**.

**OAuth**

**1. Nhập workspace slug**

Ở tab **OAuth**, nhập slug vào **Bitbucket workspace** (ví dụ `acme`). **Connect to Bitbucket** bị vô hiệu cho đến khi trường này có giá trị.

**2. Cấp quyền cho CloudThinker**

Nhấn **Connect to Bitbucket**. Đăng nhập bằng một người dùng Bitbucket thấy được workspace, rồi chấp thuận yêu cầu. CloudThinker yêu cầu quyền đọc và ghi repository, quyền API cho webhook và pull request, và thông tin tài khoản của bạn (username, email).

**Trạng thái thành công:** bạn quay lại CloudThinker với **Bitbucket Connected!** và Bitbucket hiển thị **Connected** ở tab **Builtin Connections**.

**Access Token**

**1. Tạo token trong Bitbucket**

Chọn loại token từ [Chọn phương thức](#chọn-phương-thức), rồi mở màn hình tương ứng:

| Loại token | Nơi tạo | Nút |
| - | - | - |
| Workspace | **Workspace → Settings → Access tokens** | **Create workspace access token** |
| Project | **Project → Project settings → Access tokens** | **Create project access token** |
| Repository | **Repository → Repository settings → Access tokens** | **Create Repository Access Token** |

Cấp các quyền trong [Quyền yêu cầu](#quyền-yêu-cầu), đặt ngày hết hạn và sao chép token.

**2. Nhập thông tin kết nối**

Ở tab **Access Token**, chọn **Token Type** và điền các trường trong [Chi tiết kết nối](#chi-tiết-kết-nối).

**3. Xác thực và kết nối**

Nhấn **Validate Token**. CloudThinker hiển thị **Token works** cùng số repository mà token thấy được. Sau đó nhấn **Connect**.

**Trạng thái thành công:** CloudThinker hiển thị **Connected to Bitbucket** và Bitbucket hiển thị **Connected** ở tab **Builtin Connections**.

> [!NOTE]
>
> CloudThinker tự đăng ký webhook Bitbucket cho Review. Bạn không cần thêm thủ công. Chọn các repository mà Review chạy trong [thiết lập Review](https://docs.cloudthinker.io/vi/guide/code-review/setup.md).

## Chi tiết kết nối

OAuth chỉ cần workspace slug. Bitbucket cấp thông tin xác thực và CloudThinker lưu trữ chúng.

| Trường | Mô tả | Ví dụ |
| - | - | - |
| **Token Type** | **Workspace Access Token**, **Project Access Token** hoặc **Repository Access Token** | **Workspace Access Token** |
| **Bitbucket Workspace** | Workspace slug của bạn | `acme` |
| **Repository slug** | Chỉ với token repository: repository mà token bao phủ | `payments-api` |
| **Access Token** | Token bạn đã tạo trong Bitbucket | `<your-token>` |

## Quyền yêu cầu

| Phương thức | Yếu tố quyết định quyền truy cập |
| - | - |
| **OAuth** | Mọi thứ người dùng Bitbucket đã đăng nhập thấy được trong workspace |
| **Access token** | Các quyền bên dưới, giới hạn trong workspace, project hoặc repository của token |

Mọi loại token cần cùng các scope, và cả ba loại đều cung cấp chúng:

| Scope | Quyền | Lý do |
| - | - | - |
| **Repositories** | Write (bao gồm Read) | Đọc mã, push nhánh và commit sửa lỗi qua phê duyệt |
| **Pull requests** | Write (bao gồm Read) | Đọc pull request và đăng bình luận Review |
| **Webhooks** | Read and write | Tự động đăng ký webhook Review |
| **Pipelines** | Write (bao gồm Read) | [Phân tích pipeline](https://docs.cloudthinker.io/vi/guide/code-review/pipelines.md) |

Access token không có scope cho issue, nên agent không thể đọc issue tracker của Bitbucket qua token. Kết nối bằng **OAuth** nếu bạn cần issue.

Review cần quyền ghi để đăng ký webhook và đăng bình luận. Thao tác ghi của agent vẫn đi qua [Rules và Approval mode](https://docs.cloudthinker.io/vi/guide/approvals/overview.md) trước khi có gì thay đổi.

> [!TIP]
>
> Bắt đầu với token repository trên một repository để thử CloudThinker. Cách này dùng được trên mọi gói, và thu hồi token không ảnh hưởng gì khác. Chuyển sang token workspace hoặc project khi triển khai rộng hơn.

## Kiểm soát quyền truy cập trong CloudThinker

Hai cài đặt trên bảng chi tiết của kết nối thu hẹp những gì agent làm. Mở **More → Workspace settings → Connections**, chọn **Bitbucket** và xem trong **Settings**.

| Cài đặt | Tùy chọn | Tác dụng |
| - | - | - |
| **Repository access** | **All** hoặc **Selected** | **All** cho agent đọc mọi repository mà thông tin xác thực tiếp cận được, kể cả repository mới. **Selected** giới hạn agent trong các repository bạn chọn, và repository mới bị loại trừ cho đến khi bạn thêm. Chuyển sang **All** rồi quay lại sẽ khôi phục lựa chọn trước đó. |
| **Allow writes** | Bật (mặc định) hoặc tắt | Bật: agent có thể đề xuất thay đổi, và Rules cùng Approval mode quyết định từng thay đổi. Tắt: agent chỉ có thể đọc, và mọi thay đổi bị từ chối. |

Các cài đặt này chỉ thu hẹp những gì Bitbucket đã cấp. Chọn repository mà Review chạy là một bước riêng trong [thiết lập Review](https://docs.cloudthinker.io/vi/guide/code-review/setup.md).

## Khả năng của agent

Thao tác đọc chạy mà không hỏi. Thao tác ghi cần bật **Allow writes** và đi qua Rules cùng Approval mode trước.

| Khả năng | Agent có thể làm gì |
| - | - |
| **Repositories** | Liệt kê các repository mà kết nối tiếp cận được và đọc mã cùng lịch sử |
| **Pull requests** | Tóm tắt các pull request đang mở, người review và thảo luận |
| **Pipelines** | Tìm pipeline thất bại và đọc log từng bước để giải thích lỗi |
| **Issues** | Đọc issue để có ngữ cảnh phân loại và tiến độ triển khai, khi repository dùng issue tracker của Bitbucket (chỉ OAuth) |
| **Changes** | Tạo nhánh, bình luận hoặc mở pull request, mỗi việc đều qua phê duyệt |

### Xác minh kết nối

```text theme={null}
List the Bitbucket repositories you can reach and how many open pull requests each one has
```

Kết nối hoạt động sẽ nêu tên các repository thực và số liệu. Nếu thiếu repository nào, hãy kiểm tra loại token và **Repository access**.

### Ví dụ prompt

```text theme={null}
Which open pull requests in the acme workspace have had no review for more than 3 days?
Why did the latest pipeline on main fail in the payments-api repository?
Summarize the pull requests merged into main across our Bitbucket repositories this week
```

## Khắc phục sự cố

> **Connect to Bitbucket vẫn bị vô hiệu**
>
> Luồng OAuth cần workspace slug trước. Nhập phần sau `bitbucket.org/` từ bất kỳ URL repository nào, rồi nhấn **Connect to Bitbucket**.

> **Validate Token thất bại**
>
> Token đã hết hạn hoặc bị thu hồi, thiếu một trong các quyền yêu cầu, hoặc không khớp với gói của bạn. Token workspace và project cần Bitbucket Premium. Tạo token mới với mọi quyền trong [Quyền yêu cầu](#quyền-yêu-cầu) và xác thực lại.

> **Confirm Bitbucket workspace**
>
> Cảnh báo này xuất hiện trên kết nối OAuth chưa lưu workspace slug. Bitbucket không còn cho CloudThinker tự phát hiện workspace, nên bạn nhập một lần. Cảnh báo hiển thị trên bảng chi tiết của kết nối và trong **Review → Settings**. Nhấn **Set workspace**, nhập slug và nhấn **Save workspace**.

> **Agent không tìm thấy một repository**
>
> Token repository chỉ tiếp cận một repository, và token project chỉ tiếp cận project đó. Dùng token workspace, hoặc đăng nhập OAuth bằng người dùng thấy được repository. Sau đó kiểm tra **Repository access** có bao gồm repository đó.

> **Agent đọc được nhưng mọi thay đổi bị từ chối**
>
> **Allow writes** đang tắt trên kết nối, hoặc một Rule chặn hành động. Bật **Allow writes** trong **Settings**, rồi kiểm tra [Rules](https://docs.cloudthinker.io/vi/guide/approvals/rules.md).

## Bảo mật

* **Quyền tối thiểu** — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
* **Chỉ đọc theo mặc định** — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
* **Xoay vòng thông tin xác thực** — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
* **Thu hồi khi bàn giao** — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.

- **Ưu tiên token có phạm vi hẹp.** Token repository hoặc project giữ CloudThinker trong phạm vi mã cần thấy, và thu hồi token không ảnh hưởng gì khác.
- **Đặt ngày hết hạn.** Xoay vòng token trước khi hết hạn, nếu không Review và agent sẽ mất quyền truy cập vào ngày đó. Để thay token mới, mở **Review → Settings**, mở menu **Connection actions** (⋯) trong mục **Connection** và nhấn **Update token**.

## Liên quan

> **[Thiết lập Review](https://docs.cloudthinker.io/vi/guide/code-review/setup.md)**
>
> Chọn repository và bắt đầu review mã bằng AI trên pull request

> **[Xác thực provider](https://docs.cloudthinker.io/vi/guide/code-review/provider-auth.md)**
>
> So sánh các phương thức xác thực trên mọi Git provider


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.