Tự động gán Issue GitHub Dựa trên Lệnh - Quy trình làm việc n8n

Tự động hóa việc phân công xử lý issue trên GitHub bằng các lệnh bình luận như 'assign me' (gán cho tôi). Luồng công việc n8n này sử dụng logic điều kiện và bộ kích hoạt n8n của GitHub để quản lý việc phân công một cách hiệu quả.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Đối tượng phù hợp

Các Nhóm Phát triển: Muốn tinh gọn quy trình sàng lọc issue.
Người Bảo trì Mã Nguồn Mở: Tìm cách tự động hóa việc phân công cho những người đóng góp tình nguyện.
Chuyên gia Tự động hóa n8n: Quan tâm đến việc sử dụng định tuyến điều kiện phức tạp trong luồng công việc n8n.
Chuyên gia DevOps: Cần tương tác với GitHub dựa trên lệnh một cách đáng tin cậy.

Tổng quan

Quản lý việc phân công trong các kho lưu trữ (repository) GitHub có lượng truy cập lớn có thể tốn nhiều thời gian. Luồng công việc n8n mạnh mẽ này giải quyết vấn đề đó bằng cách cho phép người dùng tự gán issue cho mình chỉ bằng cách nhập một lệnh, chẳng hạn như 'assign me', dù là trong nội dung issue ban đầu hay trong một bình luận sau đó. Logic nền tảng của n8n đảm bảo rằng issue chỉ được gán nếu nó hiện đang chưa có người nhận, qua đó ngăn ngừa xung đột. Nếu người dùng cố gắng nhận một issue đã được gán, hệ thống tự động sẽ phản hồi bằng một bình luận hữu ích, đảm bảo tính minh bạch. Việc triển khai mẫu n8n cụ thể này thể hiện khả năng kiểm soát luồng mạnh mẽ và đơn giản hóa việc điều phối các tác vụ phát triển.

Cách thức hoạt động

Toàn bộ quá trình bắt đầu bằng bộ kích hoạt n8n 'Github Trigger1', được cấu hình để lắng nghe các issue mới (issues event) hoặc các bình luận mới (issue_comment event).


  1. Kích hoạt và Định tuyến: Khi có sự kiện xảy ra, dữ liệu đi vào luồng công việc n8n. Nút 'Switch' n8n sẽ phân tích hành động của sự kiện (ví dụ: 'opened' cho một issue hoặc 'created' cho một bình luận).

  2. Gán Issue Mới: Nếu hành động là 'opened', luồng sẽ chuyển đến 'IF no assignee?'. Nút điều kiện n8n này kiểm tra xem issue chưa được gán VÀ nội dung issue có chứa 'assign me' hay không. Nếu cả hai đều đúng, nút 'Assign Issue Creator' n8n sẽ gán issue cho người đã mở nó và áp dụng nhãn 'assigned'.

  3. Nỗ lực Gán qua Bình luận: Nếu hành động là 'created' (một bình luận mới), luồng sẽ chuyển đến 'IF wants to work?'. Nút n8n này kiểm tra xem nội dung bình luận có chứa lệnh 'assign me' hay không.

  4. Kiểm tra Xung đột: Nếu bình luận chứa cụm từ yêu cầu gán, luồng sẽ tiến hành đến 'IF not assigned?'. Nút điều kiện n8n này kiểm tra trạng thái phân công hiện tại.

  5. Gán hoặc Thông báo: Nếu issue chưa có người nhận, nút 'Assign Commenter' n8n sẽ gán issue cho người bình luận. Nếu issue đã được gán, nút 'Add Comment' n8n sẽ tự động đăng phản hồi thông báo cho người bình luận biết rằng issue này đã có người nhận. Tất cả các sự kiện hoặc hành động khác không khớp sẽ dẫn đến nút 'No Operation, do nothing' n8n, kết thúc nhánh thực thi đó một cách mượt mà.

Hướng dẫn cài đặt

Để triển khai luồng công việc n8n mạnh mẽ này, hãy làm theo các bước sau:


  1. Nhập (Import): Sao chép mã JSON được cung cấp và nhập trực tiếp vào phiên bản n8n của bạn thông qua menu 'Workflows', chọn 'New' và 'Import from JSON'.

  2. Thông tin xác thực GitHub: Bạn sẽ cần thông tin xác thực OAuth2 GitHub hợp lệ được thiết lập trong n8n. Đảm bảo rằng thông tin xác thực này được liên kết với các thành phần nút n8n sau: 'Github Trigger1', 'Assign Issue Creator', 'Add Comment', và 'Assign Commenter'.

  3. Cấu hình Bộ kích hoạt: Trong nút kích hoạt n8n 'Github Trigger1', hãy thay thế [username][reponame] bằng tên chủ sở hữu và tên kho lưu trữ thực tế bạn muốn giám sát.

  4. Kích hoạt: Sau khi thông tin xác thực và chi tiết kho lưu trữ được cấu hình, hãy kích hoạt luồng công việc n8n bằng cách chuyển nút gạt sang 'Active'.

  5. Thiết lập Webhook: Nếu sử dụng phiên bản n8n tự lưu trữ (self-hosted), hãy đảm bảo URL webhook của GitHub được cấu hình chính xác trong cài đặt kho lưu trữ của bạn để trỏ đến điểm cuối kích hoạt n8n của bạn.

Chi tiết Node

Mẫu n8n này dựa vào một số thành phần nút n8n chính cho logic của nó:

Github Trigger1 (n8n trigger): Điểm khởi đầu. Lắng nghe các sự kiện issue_commentissues, đảm bảo luồng công việc n8n được kích hoạt cho cả issue mới và các bình luận tiếp theo.
Switch (n8n node): Định tuyến việc thực thi dựa trên hành động sự kiện ('opened' so với 'created'), xác định các luồng chính của luồng công việc n8n.
IF no assignee? (n8n node): Một nút n8n logic điều kiện kiểm tra hai tham số chính cho các issue mới: liệu issue có số lượng người được gán bằng không (assignees.length bằng 0) và liệu nội dung issue có khớp với lệnh regex /assign me/gm hay không.
Assign Issue Creator (GitHub n8n node): Được sử dụng để gán issue cho user.login của người tạo ra nó và áp dụng nhãn 'assigned'.
IF wants to work? (n8n node): Kiểm tra xem một bình luận có chứa lệnh regex /assign me/gm trước khi tiếp tục hay không.
IF not assigned? (n8n node): Thực hiện kiểm tra cuối cùng đối với các nỗ lực gán dựa trên bình luận để đảm bảo issue chưa được gán.
Assign Commenter (GitHub n8n node): Gán issue cho người bình luận đã yêu cầu, tận dụng thành công chức năng của luồng công việc n8n này.
Add Comment (GitHub n8n node): Thực thi khi phát hiện xung đột phân công, đăng một thông báo hữu ích trở lại issue GitHub.

Các quy trình n8n liên quan

miễn phí

Node: 6 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả
Tạo bởi
Roshan Ramani
Roshan Ramani

Đặc sắc*