Import requirement từ file CSV
Bạn có thể tạo từng requirement ở Release → Requirements → New requirement, hoặc import nhiều requirement cùng lúc bằng Import CSV (trong menu ⋯ cạnh New requirement). Trang này giải thích format file, các quy tắc và các bước. Cuối trang có một file mẫu để bạn sửa và dùng ngay.
Ai được import: QA Lead, Project Admin và System Admin. Viewer và QA Engineer chỉ được xem và export.
Format file
Phần tiêu đề “Format file”- Encoding: UTF-8, phân cách bằng dấu phẩy. Dòng đầu tiên phải là tên các cột.
- Cột: các cột có thể theo thứ tự bất kỳ. Tên cột không phân biệt hoa thường.
| Cột | Bắt buộc | Quy tắc |
|---|---|---|
key |
Có | Kiểu Jira: chữ in hoa hoặc chữ số, một dấu gạch ngang, rồi đến chữ số, ví dụ SHOP-101. Pattern ^[A-Z][A-Z0-9]*-[0-9]+$, tối đa 64 ký tự. Chữ thường được đổi thành chữ in hoa. |
title |
Có | 1–300 ký tự. |
feature |
Không | 1–100 ký tự. Nên dùng cùng giá trị với tag @feature của các test, để lọc được danh sách theo feature. |
priority |
Không | P1, P2, P3 hoặc P4, hoặc để trống. |
url |
Không | Link đến requirement trong công cụ quản lý công việc của bạn, bắt đầu bằng http:// hoặc https://, tối đa 2.000 ký tự. |
- Giá trị có dấu phẩy phải đặt trong dấu ngoặc kép, ví dụ
"Invoices need a signed-in customer, otherwise access is refused". Dấu ngoặc kép bên trong một giá trị đã đặt trong ngoặc kép thì viết hai lần (""). - Cột thừa từ file export: khi export danh sách requirement, Orbit thêm các cột
status,coveragevàlinked_tests. Khi import, Orbit bỏ qua ba cột này, nên bạn có thể sửa một file đã export rồi import lại. Nếu có bất kỳ cột lạ nào khác, cả file bị từ chối. - Giới hạn:
- tối đa 2.000 dòng và 1 MB mỗi file;
- dòng trống hoàn toàn được bỏ qua.
Import làm gì
Phần tiêu đề “Import làm gì”- Thêm mới hoặc cập nhật theo key:
- key mới tạo một requirement mới (status
active, nguồncsv); - key đã có thì được cập nhật bằng các giá trị trong file.
- key mới tạo một requirement mới (status
- Cột không có trong file thì giữ nguyên giá trị. Ví dụ, một file chỉ có
key,titlechỉ đổi title, không đổi gì khác. - Dòng có lỗi bị bỏ qua. Các dòng còn lại vẫn được import. Lỗi thường gặp trên một dòng:
- key sai format;
- title trống hoặc quá dài;
- priority không hợp lệ;
- một key xuất hiện hai lần trong file (dòng sau bị từ chối);
- key của một requirement đã archive: hãy restore requirement đó trước.
- Description không có trong CSV. Thêm hoặc sửa description trên trang của requirement.
- Audit log: mỗi lần import đều được ghi vào audit log (
requirement.import), kèm số requirement được tạo, được cập nhật, không đổi và bị lỗi.
Các bước
Phần tiêu đề “Các bước”- Trong project, mở Release → Requirements, mở menu ⋯ (More actions for requirements) và chọn Import CSV.
- Chọn Choose a CSV file rồi chọn file. Orbit hiện ngay một preview và chưa ghi gì cả:
- các con số (mới, cập nhật, không đổi, lỗi);
- từng dòng với số dòng và kết quả của nó;
- Only rows with errors lọc bảng, chỉ hiện các dòng có lỗi.
- Sửa file nếu cần rồi chọn lại file, hoặc tiếp tục.
- Chọn Import N requirements. Các dòng có lỗi bị bỏ qua.
- Link test với requirement trong source code của workload bằng tag
@req:<KEY>, ví dụtest('a customer signs in @req:SHOP-101', …). Coverage sẽ hiện sau lần sync test catalog tiếp theo và sau các run.
- Nên bắt đầu từ một file export (Export CSV, trong cùng menu ⋯) của danh sách hiện tại, sửa trong chương trình bảng tính, lưu dạng CSV (UTF-8), rồi import lại.
- Ở một số vùng, chương trình bảng tính có thể lưu với dấu chấm phẩy làm dấu phân cách, hoặc dùng encoding khác. Hãy chọn “CSV UTF-8 (comma delimited)”.
- Giá trị bắt đầu bằng
=,+,-hoặc@được export với một dấu'ở đầu, để chương trình bảng tính không chạy nó như công thức. Khi import, Orbit bỏ dấu này đi.
File mẫu
Phần tiêu đề “File mẫu”Chép các dòng sau vào một text editor và lưu thành requirements.csv (UTF-8):
key,title,feature,priority,urlSHOP-101,A customer signs in with email and password,authentication,P1,https://example.com/req/SHOP-101SHOP-102,A signed-in customer sees their own name,authentication,P2,SHOP-103,A wrong password is refused without locking the account,authentication,P2,SHOP-201,A customer adds a product to the cart,cart,P1,https://example.com/req/SHOP-201SHOP-202,A customer removes an item from the cart,cart,P3,SHOP-301,A customer reads only their own invoices,invoices,P1,SHOP-302,"Invoices need a signed-in customer, otherwise access is refused",invoices,P2,SHOP-401,An admin creates renames and deletes a brand,brands,P3,