> ## 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.

# Linear

> Kết nối Linear để agent tìm kiếm issue, project và cycle, đánh dấu công việc bị chặn và cập nhật issue qua Approvals

Kết nối Linear để [CloudThinker](https://docs.cloudthinker.io/vi/guide/agents/overview.md) tìm kiếm issue, project, cycle và comment, đánh dấu công việc bị chặn hoặc quá hạn, và tạo hoặc cập nhật issue khi bạn yêu cầu. Linear dùng OAuth qua MCP server do Linear lưu trữ, nên không cần tạo hay dán API key.

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

* Một tài khoản Linear thuộc các team bạn muốn CloudThinker đọc.
* Quyền ủy quyền app bên thứ ba trong workspace Linear của bạn.
* Vai trò **Admin** trong workspace CloudThinker, vai trò có quyền thêm và sửa kết nối. Xem [Vai trò](https://docs.cloudthinker.io/vi/guide/security/roles.md). Linear hoạt động trên mọi gói CloudThinker.

## Thiết lập

**1. Mở Linear trong CloudThinker**

Trong thanh bên, nhấn **More → Workspace settings → Connections**. Ở tab **Builtin Connections**, tìm **Linear** và nhấn **Connect**.

**2. Ủy quyền trong Linear**

Linear mở trong cửa sổ mới. Nếu trình duyệt chặn, một hộp thoại sẽ xuất hiện: nhấn **Open Linear**. Đăng nhập bằng tài khoản có các team mà CloudThinker cần thấy, chọn đúng workspace Linear nếu bạn thuộc nhiều workspace, và chấp thuận quyền truy cập. Cửa sổ tự đóng.

**3. Quay lại CloudThinker**

CloudThinker lưu OAuth token và kiểm tra kết nối.

**Trạng thái thành công:** Linear hiển thị trạng thái **Connected**.

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

Không có trường nào cần điền.

| Mục | Mô tả |
| - | - |
| **OAuth tokens** | Do Linear cấp khi bạn chấp thuận quyền truy cập và được CloudThinker lưu. Kết nối lại để thay thế. |

Mỗi workspace CloudThinker chỉ có một kết nối Linear, nên chỉ truy cập được đúng workspace Linear bạn đã chọn. Để dùng workspace Linear khác, ngắt kết nối và kết nối lại, rồi chọn workspace đó trong lúc ủy quyền.

## Quyền yêu cầu

CloudThinker hoạt động với danh nghĩa tài khoản Linear đã ủy quyền kết nối. CloudThinker thấy các team, project và issue mà tài khoản đó thấy, và không thấy gì khác.

| Quyền | Bao phủ |
| - | - |
| **Read** | Team, người dùng, project, milestone, cycle, trạng thái issue, label, issue, comment, document và attachment |
| **Write** | Tạo hoặc cập nhật issue, comment, project, milestone và document; thêm label và attachment; xóa comment và attachment |

Thao tác đọc chạy mà không hỏi.

Mọi thay đổi do agent thực hiện đều đi qua [Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md) của workspace trước. Ở chế độ mặc định **Auto · Rules + AI · Ask me**, AI judgment có thể cho một thay đổi an toàn chạy mà không cần hỏi. Allow Rule cũng vậy, sau khi CloudThinker bật [Rule enforcement](https://docs.cloudthinker.io/vi/guide/approvals/rules.md#khắc-phục-sự-cố) cho workspace của bạn. Chọn **Manual** nếu bạn muốn tự phê duyệt mọi thay đổi.

Trong chat, CloudThinker chỉ đề xuất thao tác ghi khi bạn nêu rõ mục và thay đổi. Issue follow-up của Resolve là ngoại lệ: các issue này chạy theo kết quả (outcome) bạn bật trong [tích hợp Resolve](https://docs.cloudthinker.io/vi/guide/incident/integrations.md).

> [!TIP]
>
> Ủy quyền bằng tài khoản chỉ thuộc các team mà CloudThinker cần. Hành động trong Linear hiển thị dưới tên tài khoản đó, nên tài khoản riêng giúp dễ nhận ra thay đổi của agent. Trên gói Linear trả phí, tài khoản riêng sẽ chiếm một seat.

## Khả năng của agent

| Khả năng | CloudThinker làm gì | Phê duyệt |
| - | - | - |
| **Khám phá workspace** | Liệt kê team cùng key (chẳng hạn `ENG`), project, người dùng và label | Không |
| **Tìm issue** | Tìm issue theo team, cycle, người được giao, trạng thái hoặc văn bản, và đọc comment | Không |
| **Xem cycle và project** | Hiển thị nội dung của một cycle hoặc project và issue nào đang chệch hướng | Không |
| **Công việc bị chặn** | Chỉ ra các issue bị chặn, quá hạn, chưa giao hoặc nằm ở một trạng thái quá lâu | Không |
| **Ngữ cảnh ticket trong Review** | Đưa issue Linear mà merge request hoặc pull request tham chiếu (ví dụ `ENG-123`) vào [Review](https://docs.cloudthinker.io/vi/guide/code-review/overview.md) | Không |
| **Thay đổi issue** | Tạo hoặc cập nhật issue, đặt độ ưu tiên hoặc người được giao, hoặc thêm comment | Qua Approvals |
| **Thay đổi project và document** | Tạo hoặc cập nhật project, milestone hoặc document; thêm label hoặc attachment | Qua Approvals |
| **Xóa** | Xóa một comment hoặc attachment | Qua Approvals |
| **Ticket follow-up trong Resolve** | Tạo và cập nhật issue follow-up sau sự cố, khi bạn bật kết quả tương ứng trong [tích hợp Resolve](https://docs.cloudthinker.io/vi/guide/incident/integrations.md) | Theo thiết lập của kết quả |

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

```text theme={null}
List my Linear teams with their keys, then summarize the current cycle for one of them
```

Bạn sẽ nhận được tên team với key quen thuộc và danh sách mã issue như `ENG-123` từ cycle hiện tại.

### Ví dụ prompt

```text theme={null}
Which issues in the ENG team's current cycle are blocked or past their due date?
Rank the unassigned issues in the Platform team by priority and age
Create an Urgent issue in ENG titled "Checkout API returns 502 under load" and assign it to Dana Lee
```

Prompt thứ ba là thao tác ghi, nên đi qua Approvals. Khi cần bạn phê duyệt, CloudThinker hiển thị trước issue sẽ tạo. Hãy nêu tên người được giao: "me" nghĩa là tài khoản đã ủy quyền kết nối, không phải bạn.

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

> **Trang OAuth không hoàn tất**
>
> Trình duyệt đang đăng nhập sai tài khoản Linear, hoặc chưa đăng nhập. Đăng nhập đúng tài khoản và nhấn **Connect** lần nữa từ **More → Workspace settings → Connections**.

> **Thiếu team hoặc issue mong đợi**
>
> Tài khoản đã ủy quyền kết nối không phải thành viên của các team đó, hoặc bạn đã chọn workspace Linear khác trong OAuth. Thêm tài khoản vào team trong Linear, hoặc kết nối lại và chọn đúng workspace.

> **Agent báo không tìm thấy issue**
>
> Mã issue sai hoặc thuộc team mà tài khoản không thấy được. Kiểm tra chính xác mã trong Linear (ví dụ `ENG-123`) và xác nhận quyền truy cập team của tài khoản. Đây không phải lỗi kết nối.

> **Kết nối từng hoạt động, rồi yêu cầu thất bại với 401**
>
> Ủy quyền đã hết hạn hoặc bị thu hồi trong Linear. Kết nối lại Linear từ **More → Workspace settings → Connections**.

> **Yêu cầu thất bại với 429**
>
> Linear giới hạn số yêu cầu một người dùng có thể gửi trong thời gian ngắn. Chờ khoảng một phút, rồi thử lại với yêu cầu hẹp hơn, chẳng hạn một team hoặc một cycle.

## 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.

- **Thay đổi hiển thị dưới tên người ủy quyền.** Dùng một tài khoản Linear riêng để nhóm bạn phân biệt được thay đổi của agent trong lịch sử issue.
- **Thao tác xóa được giới hạn hẹp.** Chỉ có thể xóa comment và attachment, và mỗi lần đều qua Approvals.
- **Thu hồi cả trong Linear.** Khi gỡ kết nối, hãy thu hồi luôn quyền truy cập của CloudThinker trong cài đặt tài khoản Linear.

## Liên quan

> **[Kết nối](https://docs.cloudthinker.io/vi/guide/connections/overview.md)**
>
> Duyệt mọi dịch vụ mà agent CloudThinker có thể dùng.

> **[Tích hợp Resolve](https://docs.cloudthinker.io/vi/guide/incident/integrations.md)**
>
> Bật ticket follow-up trong Linear sau sự cố.


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