JQL: phương pháp tìm kiếm linh hoạt nhất trên Jira

Tháng Năm 31, 2022
Nga Pham

JQL là từ viết tắt của Jira Query Language và là phương pháp mạnh mẽ, linh hoạt nhất để tìm kiếm các issue trong Jira. JQL dành cho tất cả mọi người: nhà phát triển, tester, người quản lý dự án và người dùng doanh nghiệp. Nếu bạn làm việc với Jira, hãy tham khảo những hướng dẫn dưới đây để có thể truy cập và truy vấn dữ liệu trên Jira một cách nhanh chóng và hiệu quả hơn.

Tìm kiếm trong Jira: Bắt đầu như thế nào?

Thanh tìm kiếm

Tính năng tìm kiếm đơn giản nhất trong Jira là thanh tìm kiếm ở góc trên phải màn hình của bạn.

Bạn có thể dùng thanh tìm kiếm này để:

  • Tìm một issue cụ thể. Ví dụ: JiraKEY-15
  • Tìm kiếm trên văn bản (thường là tóm tắt issue, mô tả và nhận xét). Ví dụ: atlassian
  • Trường input cũng hỗ trợ truy vấn thông minh (Smart Query). Ví dụ: my open bugs
    Truy vấn này sẽ trả về cho bạn một danh sách tất cả các lỗi đang ở trạng thái Open và được giao cho bạn

Tìm kiếm issue

Bạn cũng có thể tìm các issue từ phần Issues trong menu dropdown.

Trong màn hình được mở ra, bạn sẽ có thể lọc các issue một cách dễ dàng dựa trên (các) giá trị của một số trường.

Một ví dụ tìm kiếm nhanh issue trên Jira

Bạn có thể lọc theo bất cứ trường nào có sẵn trong Jira (tùy thuộc vào (các) dự án được chọn).

Tìm kiếm cơ bản và nâng cao

Có hai loại tìm kiếm trong Jira: cơ bản và nâng cao. Các tìm kiếm cơ bản như trên cung cấp cho bạn một tập hợp các biểu mẫu để điền vào, chẳng hạn như Project name, Issue type, StatusAssignee. Tìm kiếm cơ bản hữu ích trong trường hợp bạn cần một cái nhìn tổng quan về các issue và trạng thái của mình.

Mặt khác, tìm kiếm nâng cao (Advanced Searching) là quá trình làm việc với JQL, sử dụng nó để tạo ra các truy vấn. Truy vấn là một loạt các yếu tố đơn giản được xây chuỗi lại với nhau để tạo thành một câu hỏi phức tạp hơn. Một truy vấn có ba phần cơ bản: các trường (fields), các toán tử (operators) và các giá trị (values).

  • Field – Trường là các loại thông tin khác nhau trong hệt thống. Các trường Jira bao gồm priority (độ ưu tiên), fixVersion (phiên bản), issue type (loại issue), …
  • Operator – Toán tử là trung tâm của truy vấn, kết nối trường với giá trị. Các toán tử phổ biến thường là bằng (=), không bằng (!=) và các loại so sánh khác.
  • Value – Giá trị là dữ liệu thực tế trong truy vấn, thường là thứ mà bạn cần tìm kiếm.
  • Keyword – Từ khóa là những từ cụ thể trong ngôn ngữ, có ý nghĩa đặc biệt. Trong bài đăng này, chúng ta sẽ tập trung vào ANDOR.
Các thành phần của một truy vấn nâng cao trên Jira

Những từ khóa quan trọng

Atlassian đã tạo ra một tài liệu tham chiếu JQL, nơi bạn có thể tìm thấy tất cả các từ khóa, toán tử,… có thể dùng trong JQL, hỗ trợ bạn khi bạn muốn khám phá các khả năng tìm kiếm mới. Dưới đây là một số từ khóa và toán tử phổ biến nhất mà bạn sẽ gặp:

Giá trị trả về / Ý nghĩaVí dụ
ANDTrả về các issue khớp với cả hai điều kiệnproject = Collaboration AND status = "In Progress" (là một phần của dự án Collaboration và có trạng thái là In Progress)
ORTrả về các issue thỏa mãn một trong hai điều kiệnproject = Collaboration OR status = "In Progress" (là một phần của dự án Collaboration hoặc có trạng thái là In Progress)
INTrả về các issue thỏa mãn một trong các điều kiện đưa rastatus IN ("To Do", "In Progress", "Closed")
tương đương với
status = "To Do" OR status = "In Progress" OR status = "Closed"
ISTrả về các issue có trường dữ liệu thỏa một tính chất cụ thểdescription IS EMPTY (không có mô tả)
=, != Toán tử so sánh bằng, không bằngstatus != "To Do" (trả về tất cả các issue, ngoại trừ những issue có trạng thái là To Do)
>=Toán tử so sánh với một giá trị cụ thể"Story Points" >= 5 (tìm tất cả các issue có Story points lớn hơn hoặc bằng một giá trị nhất định)
Các từ khóa và toán tử thường gặp khi sử dụng JQL

JQL trong thực tế

Hãy bắt đầu với một ví dụ đơn giản. Giả sử bạn muốn xem những lỗi mà đồng đội của bạn đã đưa ra trong một dự án cụ thể. Truy vấn của bạn sẽ là:

reporter = jsmith AND project = Pipeline

Ở đây, chúng ta đã sử dụng từ khóa AND để truy vấn Jira về các ticket do John Smith tạo ra trong dự án Pipeline.

Một truy vấn khác tham chiếu đến một tập hợp các mục, ví dụ:

Những issue nào là nghiêm trọng hoặc đang gây trở ngại trong dự án A, B và C?

priority in (Blocker, Critical) AND project in (ProjA, ProjB, ProjC)

Sử dụng từ khóa IN, truy vấn sẽ trả về tất cả các mục phù hợp với bất kỳ giá trị nào trong danh sách. Trong ví dụ trên, kết quả trả về là tập hợp các lỗi nghiêm trọng hoặc đang gây cản trở trong dự án A, B và C.

JQL cực kỳ hữu ích đối với các tổ chức có thỏa thuận mức dịch vụ (Service Level Agreements – SLA) với cơ sở khách hàng của mình. Một truy vấn JQL có thể dễ dàng tìm thấy các issue không đáp ứng SLA.

Những issue nào chưa được giao và chưa được cập nhật trong hôm qua?

assignee is EMPTY and created < -1d

Trong truy vấn này, vế is empty trả về các issue có trường giá trị assignee trống. Truy vấn cũng cho thấy cách Jira hỗ trợ cách Jira hỗ trợ so sánh tương đối các ngày. Giá trị -1d kiểm tra điều kiện ít hơn 1 ngày so với ngày hiện tại khi truy vấn được chạy. Kết quả là, truy vấn sẽ trả về tất cả các issue không có người phụ trách và đã được tạo ít nhất một ngày.

Đừng sợ hãi tính năng tìm kiếm nâng cao của Jira! Trình biên soạn JQL của Jira sẽ giúp bạn học cách sử dụng JQL một cách dễ dàng bằng cách gợi ý mã khi bạn nhập. Ví dụ, nếu bạn muốn nhập JQL propject = Pipeline, Jira sẽ đưa ra gợi ý ở mỗi bước cho từng thành phần trong số ba thành phần của truy vấn. Bạn cũng có thể nhấn vào Syntax help (Trợ giúp cú pháp) bất cứ khi nào bạn gặp khó khăn.

Hãy truy cập hướng dẫn Jira Software product để tìm hiểu thêm về JQL, tìm kiếm nâng cao với nhiều trường hợp sử dụng đa dạng hơn nữa. Jira cũng có một cheat sheet dành cho JQL, bạn có thể tải xuống và sao chép các trường, toán tử hoặc hàm vào thanh tìm kiếm Jira, cũng như tìm hiểu về các truy vấn nâng cao.

Theo Atlassian