TaskGoblin kết nối với hai loại công cụ, và sự phân biệt này quyết định cách bạn đăng ký:
- Nhà cung cấp git — GitLab hoặc GitHub — cấp kho mã và tạo tổ chức cho bạn. Đúng một cái cho mỗi tổ chức, chọn khi đăng nhập.
- Nhà cung cấp năng lực — Linear, Jira, Slack và Microsoft Teams — thêm những nơi vòng lặp có thể chạy và goblin có thể báo cáo. Những cái này bạn kết nối vào một tổ chức đã có.
Quản lý tất cả ở mục Tích hợp trong menu tổ chức (/{organisation}/integrations).
Kết nối một nhà cung cấp sẽ cài các vòng lặp mặc định của nó. Đó là hệ quả thực tế đáng nhớ: một tích hợp không chỉ là thông tin xác thực, mà là một bộ hành vi thường trực đi kèm. Xem Vòng lặp sự kiện để biết mỗi cái cài gì.
Nhà cung cấp git (GitLab hoặc GitHub)
Đăng nhập chính là kết nối nhà cung cấp git — một lần đồng ý OAuth vừa xác thực bạn vừa tạo tổ chức và kết nối kho mã. Vì vậy không có bước "kết nối kho mã" riêng.
GitLab
Kết nối GitLab sẽ liệt kê các nhóm bạn thuộc về và tạo một tổ chức TaskGoblin cho mỗi nhóm, cộng thêm một tổ chức cá nhân. Goblin đăng bài với danh nghĩa @taskgoblin trên merge request và issue. Nếu token cần làm mới, trang Tích hợp có nút Kết nối lại chỉ một cú nhấp.
Cài: Review merge request, Xử lý issue được giao.
GitHub
GitHub là một GitHub App, không phải ứng dụng OAuth cổ điển. Bạn cài ứng dụng TaskGoblin lên tổ chức mong muốn, và mỗi lần cài trở thành một tổ chức TaskGoblin. Ứng dụng phát hành token cài đặt ngắn hạn theo nhu cầu và goblin đăng bài với danh nghĩa taskgoblin[bot]. Vì quyền được làm mới qua chính bản cài đặt, tổ chức GitHub không bao giờ cần kết nối lại thủ công.
Cài: Review pull request, Xử lý issue gắn nhãn.
Một tổ chức được tạo qua git bị khóa với nhà cung cấp đã tạo ra nó — thẻ của nhà cung cấp đó hiện Kết nối lại thay vì Ngắt kết nối.
Nhà cung cấp năng lực
Linear
Một lần đồng ý OAuth vào tổ chức đang hoạt động. Sau khi kết nối, goblin nhận các issue được giao cho tác nhân TaskGoblin, đọc issue và bình luận làm ngữ cảnh, rồi đăng trạng thái, hoạt động và liên kết merge request trở lại issue.
Cài: Xử lý issue được giao.
Jira
Một lần đồng ý OAuth của Atlassian, kết nối site Jira của bạn vào tổ chức đang hoạt động. Goblin nhận các issue được giao cho tài khoản TaskGoblin và trả lời các lời nhắc trong bình luận issue, trả lời dưới dạng bình luận trên issue và chuyển nó qua quy trình khi bạn yêu cầu.
Một issue Jira hiếm khi nêu tên kho mã, nên goblin suy ra đích đến từ chính yêu cầu, từ bộ nhớ tổ chức và từ các kho mã đã kết nối — và sẽ hỏi thay vì đoán khi thật sự không biết. Nói một lần là đủ; nó ghi lại câu trả lời.
Cài: Xử lý issue được giao.
Slack
Kết nối Slack cho phép bất kỳ ai nhắc goblin trong một luồng và nhận trả lời ngay nơi cuộc trò chuyện đang diễn ra. Token bot không hết hạn nên không có gì phải làm mới. Slack cũng là nơi các vòng lặp theo lịch gửi bản tóm tắt và lời nhắc khi chỉ dẫn nêu tên một kênh.
Không cài vòng lặp riêng — nó là nơi chốn, không phải trình kích hoạt.
Microsoft Teams
Nhắc goblin trong kênh Teams, trong nhóm chat hoặc tin nhắn trực tiếp, nó sẽ trả lời ngay tại đó, chỉnh sửa chính tin nhắn của mình khi công việc tiến triển. Việc kết nối sẽ xác minh tenant Microsoft của bạn; không có token bot nào để bạn phải quản lý.
Không cài vòng lặp riêng.
Goblin xác thực như chính nó ra sao
Bạn không bao giờ phải dán token truy cập cá nhân vào TaskGoblin, và goblin không bao giờ thấy thông tin xác thực của bạn.
Mỗi nhà cung cấp có danh tính bot riêng — @taskgoblin trên GitLab, Slack và Teams, taskgoblin[bot] trên GitHub. Bên trong sandbox, thông tin xác thực git được cấp theo từng tổ chức ngay lúc chạy (token OAuth GitLab, hoặc token cài đặt GitHub vừa phát hành) và được tiêm vào môi trường xung quanh tác nhân, thay vì đưa cho nó đọc.
Ranh giới này là cố ý, và cũng giải thích vì sao goblin bình luận qua các tích hợp của chính nó chứ không dùng token git được cấp: bình luận đăng bằng token của bạn sẽ hiện dưới tên bạn. Mọi điều goblin nói, nó nói với tư cách chính nó.
Ngắt kết nối
Ngắt kết nối một nhà cung cấp ở trang Tích hợp và goblin mất quyền truy cập đó ngay lập tức — các vòng lặp phụ thuộc vào nó ngừng chạy, và không còn gì được đọc hay đăng ở đó nữa. Kết nối lại sẽ khôi phục đúng kết nối cũ.
Đi tiếp ở đâu
- Vòng lặp sự kiện — các vòng lặp mặc định của từng nhà cung cấp làm gì và cách thay đổi.
- Lượt chạy tức thời — nhắc goblin trực tiếp trên bất kỳ nơi nào đã kết nối.
- Bắt đầu nhanh — toàn bộ chặng đường từ đăng ký tới vòng lặp đầu tiên.