AdaFlow - Báo cáo chạy Flow

I. Tổng quan

Tài liệu này mô tả màn hình báo cáo các lần chạy của flow sau khi flow đã được xuất bản và tham gia vận hành.

1. Vấn đề

  • Sau khi một flow được xuất bản, người vận hành cần biết flow đang chạy tốt hay không, nhưng nếu chỉ có màn builder thì không đủ để theo dõi trạng thái thực thi thực tế.
  • Khi flow thất bại ở một số bước như gửi email, cập nhật CRM hoặc nhận event từ webhook, team cần một nơi để nhìn nhanh số lần thành công, thất bại và các lần chạy đang bị treo.

2. Giải pháp

  • Cung cấp màn Flow Run Report dạng danh sách các execution theo flow.
  • Hỗ trợ filter theo flow, trigger, thời gian và trạng thái.
  • Cho phép drill-down sang tài liệu hoặc màn chi tiết của từng run.

3. Đối tượng

  • Người vận hành automation.
  • Quản lý cần theo dõi tình trạng flow đang chạy.
  • Dev, QA cần kiểm tra lịch sử chạy sau khi test hoặc deploy.

4. Tầm nhìn/insight

  • Trong tương lai có thể mở rộng thêm biểu đồ, tỷ lệ lỗi theo node, thống kê theo ngày hoặc cảnh báo khi flow thất bại nhiều lần liên tiếp.

II. Yêu cầu chức năng

1. Danh sách tính năng

  • Xem danh sách các lần chạy của flow.
  • Lọc theo flow.
  • Lọc theo trigger hoặc loại khởi phát.
  • Lọc theo khoảng thời gian.
  • Lọc theo trạng thái thực thi.
  • Điều hướng sang chi tiết một lần chạy.

2. Đặc tả chi tiết

User story 1: Là một [Người vận hành], tôi muốn [xem danh sách các lần chạy của flow] để [đánh giá tình trạng vận hành của automation].

  • Use case 1.1 (Xem danh sách run): User vào màn báo cáo chạy flow -> Hệ thống hiển thị danh sách execution theo thứ tự thời gian mới nhất -> Mỗi dòng thể hiện tối thiểu tên flow, trigger, thời gian bắt đầu, thời gian kết thúc và trạng thái.

  • Use case 1.2 (Lọc run theo flow và trạng thái): User chọn một flow cụ thể và chọn trạng thái failed -> Hệ thống chỉ hiển thị các execution thỏa điều kiện lọc.

User story 2: Là một [QA hoặc Dev], tôi muốn [đi từ danh sách run sang chi tiết run] để [xác định flow lỗi ở lần chạy nào và cần xem sâu hơn trường hợp nào].

  • Use case 2.1 (Drill-down sang run detail): User click vào một dòng run trong báo cáo -> Hệ thống mở màn chi tiết lần chạy đó -> Dữ liệu ở run detail phải khớp với dòng user vừa chọn.

3. Danh sách nghiệp vụ

  • Chỉ flow đã được khởi phát thực tế mới sinh ra run.
  • Một run phải có tối thiểu các thông tin:
    • ID hoặc mã định danh run.
    • Flow tương ứng.
    • Trigger khởi phát.
    • Thời gian bắt đầu.
    • Thời gian kết thúc hoặc thời điểm cuối cùng được cập nhật.
    • Trạng thái.
  • Tập trạng thái tối thiểu của run trong tài liệu này:
    • running
    • success
    • failed
    • stopped
  • Bộ lọc chỉ tác động lên dữ liệu run, không làm thay đổi cấu hình của flow.
  • Run ở trạng thái running chưa có thời gian kết thúc.
  • Khi run failed, báo cáo phải đủ thông tin để user quyết định có cần mở flow_run_detail hay không.

4. Giao diện

  • Trong phạm vi hiện tại, tài liệu này chưa chốt layout cụ thể do Figma page chính tập trung vào builder nhiều hơn report.
  • Ở mức yêu cầu nghiệp vụ, màn báo cáo cần có:
    • Thanh filter phía trên.
    • Bảng hoặc danh sách run ở trung tâm.
    • Trạng thái thể hiện rõ bằng nhãn/tag/badge.
    • Entry point sang chi tiết run.

III. Yêu cầu phi chức năng

  • Khả năng truy vết: Dữ liệu run trong report phải nhất quán với dữ liệu ở run detail.
  • Hiệu năng: Danh sách run và thao tác filter phải phản hồi đủ nhanh để người vận hành kiểm tra nhiều flow liên tiếp.
  • Khả năng mở rộng: Màn báo cáo cần đủ linh hoạt để bổ sung thêm chỉ số hoặc filter mới trong tương lai.

IV. Dependency (liên quan & phụ thuộc)


V. API Contract (dev viết)

  • Chưa định nghĩa API chi tiết.
  • Khi triển khai cần tối thiểu có API:
    • Lấy danh sách run theo filter.
    • Lấy trạng thái và metadata cơ bản của từng run.

VI. Test case (BA hoặc tester viết)

  • TC1 (Happy Path): Mở màn report -> Hệ thống hiển thị danh sách run mới nhất.
  • TC2 (Happy Path): Lọc theo một flow cụ thể -> Danh sách chỉ còn run của flow đó.
  • TC3 (Happy Path): Lọc theo trạng thái failed -> Chỉ hiển thị run lỗi.
  • TC4 (Business Rule): Run đang running -> Không có thời gian kết thúc.
  • TC5 (Navigation): Click một dòng run -> Mở đúng chi tiết của run đó.