Xin chào các thành viên của Jira! Bạn đang sắp sửa bước vào hành trình chinh phục Jira JQL – vũ khí bí mật để quản lý issue một cách hiệu quả trong Jira. Là một phần trong Series Jira Guru của DevSamurai, bài đăng này không chỉ giúp bạn hiểu Jira JQL là gì mà còn trang bị cho bạn các kỹ năng ở cấp độ chuyên nghiệp để tận dụng tối đa công cụ Jira.

Jira JQL

Hiểu rõ về ngôn ngữ truy vấn Jira (Jira JQL)

Ngôn ngữ truy vấn Jira (Jira Query Language), viết tắt là Jira JQL, là ngôn ngữ truy vấn đặc biệt linh hoạt do Atlassian tạo riêng cho phần mềm Jira. Ngôn ngữ này được thiết kế để giúp người dùng xây dựng các truy vấn tìm kiếm một cách chính xác, từ đó sàng lọc vô số issue trong project của họ. Nếu bạn đã từng làm việc với SQL (Structured Query Language) để quản lý cơ sở dữ liệu, bạn sẽ thấy JQL rất quen thuộc.

Vậy, tại sao JQL lại quan trọng đến thế trong hệ sinh thái Jira? Câu trả lời vô cùng đơn giản. JQL cung cấp cho bạn khả năng tạo các bộ lọc tìm kiếm tùy chỉnh, giúp đơn giản hóa đáng kể quy trình quản lý project. Với JQL, bạn có thể xác định các tác vụ cụ thể, theo dõi tiến độ của project, tạo báo cáo chi tiết, v.v. Bất kể quy mô project của bạn hay số lượng issue bạn đang giải quyết, JQL cho phép bạn tập trung vào các issue liên quan đến bạn.

Hãy nghĩ về nó theo cách này: JQL là vũ khí bí mật của bạn trong Jira, giúp bạn điều hướng suôn sẻ qua một biển project và task. Với công cụ mạnh mẽ này trong tay, bạn có thể quản lý project như một chuyên gia. Vì vậy, hãy tìm hiểu sâu hơn về thế giới JQL và hiểu các yếu tố cũng như cú pháp cơ bản của nó.

Bắt đầu với Jira Query Language

A. Cú pháp của Jira JQL

Cú pháp của truy vấn JQL tuân theo định dạng đơn giản: “field operator value”. Cấu trúc này cho phép bạn xác định những gì bạn đang tìm kiếm một cách rõ ràng, hợp lý.

Ví dụ: giả sử bạn muốn tìm tất cả các issue trong một project hiện đang được tiến hành. Truy vấn JQL của bạn có thể giống như sau: ‘status = “In Progress”.’

cú pháp của Jira JQL

Trong ví dụ này:

  • ‘status’ là field mà bạn quan tâm.
  • ‘=’ là operator, được sử dụng ở đây có nghĩa là “equals”.
  • ‘In Progress’ là value, là trạng thái cụ thể mà bạn đang tìm kiếm.

B. JQL Fields

Trong JQL, fields là các thuộc tính issue cụ thể mà bạn muốn tìm kiếm. Chúng có thể là hầu hết mọi thuộc tính liên quan đến một issue trong Jira, chẳng hạn như

  • ‘project’
  • ‘issue type’
  • ‘Priority’
  • ‘Fix Version’
  • ‘Epic tag’
  • ‘status’
  • ‘due date’ 

và nhiều hơn nữa…

Các field bạn có thể sử dụng trong các truy vấn JQL của mình sẽ phụ thuộc vào cấu hình Jira của bạn và các field cụ thể có sẵn trong phiên bản đó.

Tài liệu Atlassian: Danh sách tất cả các field

C. JQL Operators

Operators là liên kết giữa fields và values trong truy vấn JQL. Chúng xác định mối quan hệ giữa field và value.

Các operator cơ bản bạn có thể sử dụng trong JQL bao gồm:

  • Equals ‘=’
  • Not equals ‘!=’
  • Greater than ‘>’
  • Less than ‘<’
  • Greater than or equal to ‘>=’
  • Less than or equal to ‘<=’
  • In ‘IN’
  • Not in ‘NOT IN’
  • Is ‘IS’
  • Is not ‘IS NOT’
  • Like ‘~’
  • Not like ‘!~’

Tài liệu Atlassian: JQL Operators

D. JQL Functions

Functions là các hướng dẫn đặc biệt có thể được sử dụng trong các truy vấn JQL để tìm kiếm issues theo cách sinh động hoặc phức tạp hơn. Chúng có thể được sử dụng để tìm issues dựa trên người dùng hiện tại (‘currentUser()’), thời gian hiện tại (‘now()’), thành viên của một nhóm cụ thể (‘membersOf()’), v.v.

Tài liệu Atlassian: JQL Functions

E. Các mẫu truy vấn cơ bản

Dưới đây là một số mẫu truy vấn JQL cơ bản để giúp bạn bắt đầu:

  • project = “My Project”: Điều này sẽ trả về tất cả issues trong project “My Project”.
  • assignee = currentUser(): Điều này sẽ trả về tất cả issues được assign cho người dùng hiện đang đăng nhập.

Các mẫu truy vấn cơ bản

  • status = “In Progress”: Điều này sẽ trả về tất cả issues với status “In Progress”

 

Hãy nhớ rằng, cách tốt nhất để học JQL là tự mình trải nghiệm. Vì vậy, đừng ngại thử nghiệm với các truy vấn khác nhau và xem kết quả bạn nhận được. Bạn càng thực hành nhiều, bạn sẽ càng dễ dàng sử dụng công cụ này với JQL.

Kỹ thuật JQL nâng cao

A. Các truy vấn phức tạp trong Jira JQL

Việc sử dụng JQL nâng cao thường liên quan đến việc kết hợp nhiều điều kiện trong một truy vấn. Bạn có thể thực hiện việc này bằng cách sử dụng operators hợp lý như ‘AND’, ‘OR’, và ‘NOT’.

Chẳng hạn, giả sử bạn muốn tìm tất cả các issue đang mở hoặc in-progress được assign cho bạn. Truy vấn JQL của bạn có thể trông giống như sau: ‘status = “In Progress” AND assignee = currentUser()’. Truy vấn này sử dụng operator AND để kết hợp hai điều kiện: status của issue và assignee của issue.

Các truy vấn phức tạp trong Jira JQL

B. Tìm kiếm nâng cao trong Jira JQL

Chức năng tìm kiếm nâng cao của Jira (Advanced Search) cho phép bạn tinh chỉnh thêm các truy vấn JQL của mình. Ví dụ: bạn có thể sử dụng mệnh đề ‘ORDER BY’ để sắp xếp kết quả tìm kiếm của mình, toán tử ‘CHANGED’ để tìm issues có field value thay đổi trong một khung thời gian cụ thể, v.v.

Tài liệu Atlassian: từ khóa JQL

C. Xây dựng truy vấn JQL bằng trang tìm kiếm nâng cao

Trang Tìm kiếm nâng cao của Jira (Jira’s Advanced Search page) cung cấp giao diện thân thiện với người dùng để xây dựng các truy vấn JQL phức tạp. Tại đây, bạn có thể kết hợp nhiều fields, operators, và  values bằng hệ thống downdrop. Trang này cũng cung cấp các đề xuất tự động hoàn thành, giúp bạn tránh các lỗi cú pháp và xây dựng các truy vấn của mình dễ dàng hơn.

JQL dành cho mọi người dùng: nhà phát triển, người thử nghiệm, người quản lý dự án agile và người dùng doanh nghiệp. Tuy nhiên, bạn cần biết cách xây dựng các truy vấn có cấu trúc JQL để sử dụng tính năng này.

Tài liệu Atlassian: Tìm Kiếm Nâng Cao

D. Các truy vấn JQL nâng cao mẫu

Để bạn hiểu thêm về JQL nâng cao, đây là một số ví dụ về các truy vấn phức tạp:

  • Parent link: Nhận child issues từ nhiều Parent Links
  • “Parent Link” IN (EX-000, EX-001, EX-002, EX-003)
  • Child issues: Để nhận tất cả child issues dưới INIT-00 và không chỉ child issues tại cấp epic hierarchy
  •  issuekey in portfolioChildIssuesOf(“INIT-001”)
  • Team field: Nhận danh sách issues được assign cho một team
  • “Team” = “shared team name”
  • Target start or Target end: Tìm kiếm tất cả issues với target start sau 25 Jun 2023
  • “Target start” >= “2023-06-25”

Mẹo sử dụng ngôn ngữ truy vấn Jira như một chuyên gia

A. Các phương pháp hay nhất của Jira JQL

  1. Bắt đầu với một mục tiêu rõ ràng: Trước khi bạn bắt đầu tạo truy vấn JQL, hãy xác định rõ bạn muốn tìm gì. Có một mục tiêu rõ ràng giúp dễ dàng chọn đúng fields, operartors và values cho truy vấn của bạn.
  2. Sử dụng đúng fields và operators: Không phải fields và operators nào cũng cho ra kết quả khi ghép nối với nhau. Luôn đảm bảo fields và operators bạn đang sử dụng tương thích.
  3. Kiểm tra truy vấn của bạn: Thường xuyên kiểm tra truy vấn của bạn để đảm bảo truy vấn mang lại kết quả như mong đợi.
  4. Sử dụng lại và chia sẻ các truy vấn: Nếu bạn tạo một truy vấn đặc biệt hữu ích, hãy lưu truy vấn đó làm bộ lọc để sử dụng trong tương lai. Bạn cũng có thể chia sẻ các bộ lọc này với các thành viên trong nhóm của mình, giúp tăng năng suất tổng thể.

B. Những cạm bẫy thông thường cần tránh

Khi làm việc với Jira Query Language (JQL), điều quan trọng là phải nhận thức được những sai lầm phổ biến để đảm bảo thực thi truy vấn chính xác và hiệu quả. Bằng cách tránh những lỗi này, bạn có thể tiết kiệm thời gian và thu được kết quả đáng tin cậy hơn. Dưới đây là một số lỗi phổ biến cần chú ý:

  1. Fields và operators không khớp: Hãy đảm bảo rằng bạn sử dụng operators chính xác cho fields cụ thể mà bạn đang truy vấn. Các field khác nhau có thể yêu cầu các operator khác nhau. Ví dụ: operator “=” được sử dụng cho hầu hết các fields nhưng đối với label fields, bạn nên sử dụng operator “IN” để thay thế.
  2. Sử dụng operators không tồn tại: Xác minh rằng fields bạn đang sử dụng trong truy vấn JQL thực sự tồn tại trong phiên bản Jira của bạn. Viết sai chính tả hoặc sử dụng fields không tồn tại sẽ dẫn đến lỗi hoặc kết quả không chính xác.
  3. Thiếu dấu ngoặc kép cho giá trị văn bản: Khi tìm kiếm giá trị văn bản, chẳng hạn như tên issue hoặc label, hãy đảm bảo đặt chúng trong dấu ngoặc kép (” “). Ví dụ: summary = “bug fix”.
  4. Không xem xét các loại field: Các field khác nhau có các loại dữ liệu khác nhau (ví dụ: văn bản, số, ngày). Đảm bảo rằng bạn sử dụng đúng kiểu dữ liệu và operators tương ứng khi truy vấn các field cụ thể.

C. Sử dụng các bộ lọc đã lưu

Jira cho phép bạn lưu các truy vấn JQL của mình dưới dạng bộ lọc (filter) để sử dụng trong tương lai. Các bộ lọc này có thể được tham chiếu trong các khu vực khác nhau của Jira, chẳng hạn như trên Dashboard, trong Agile Boards hoặc trong các truy vấn khác bằng cách sử dụng từ khóa ‘Filter‘.

Save filter

Để lưu bộ lọc hiện tại của bạn, hãy nhấp vào nút “Save As” ở gần trên cùng bên trái – bạn sẽ được nhắc đặt tên cho bộ lọc của mình.

Lưu ý rằng tính năng này cũng có sẵn cho các tìm kiếm cơ bản.

D. Chia sẻ các truy vấn JQL của bạn

Bạn cũng có thể chia sẻ các truy vấn và bộ lọc của mình với các thành viên khác trong nhóm. Chia sẻ bộ lọc (Sharing filters) cho phép những người khác sử dụng cùng một bộ tiêu chí để xem issues. Hơn nữa, các bộ lọc Jira có thể được nhúng vào các trang Confluence, giúp dễ dàng chia sẻ thông tin chi tiết từ các truy vấn JQL với toàn bộ tổ chức của bạn.

Bạn có thể làm điều này theo nhiều cách:

  • Sử dụng nút “Share” ở góc trên cùng bên phải
  • Xuất bộ lọc ở định dạng khác bằng nút “Export” (bên cạnh “Share”)
  • Thay đổi quyền trên bộ lọc của bạn để thêm vào nhiều người dùng hơn

Kết luận

Ngôn ngữ truy vấn Jira là một công cụ vô giá cho bất kỳ ai sử dụng Jira. Nó cung cấp khả năng tìm kiếm mạnh mẽ có thể hợp lý hóa quy trình công việc của bạn, cung cấp thông tin chi tiết có giá trị và cuối cùng giúp bạn quản lý dự án của mình hiệu quả hơn.

Vì vậy, hãy tiếp tục luyện tập với JQL. Thực hành, thử nghiệm và đừng sợ phạm sai lầm. Bạn càng sử dụng JQL nhiều, bạn càng cảm thấy hứng thú và kỹ năng sử dụng Jira của bạn sẽ càng trở nên thành thục hơn.

Về DevSamurai

DevSamurai là một công ty dịch vụ CNTT toàn cầu cung cấp các giải pháp DevOps cho Jira, Atlassian, v.v… bằng cách sử dụng công nghệ tiên tiến cho cơ sở khách hàng ngày càng tăng của mình. DevSamurai lấy khách hàng làm trung tâm và giúp khách hàng tận dụng sức mạnh của CNTT để cải thiện hoạt động kinh doanh của họ. DevSamurai sử dụng nền tảng điện toán Cloud, công cụ DevOps và các phương pháp tốt nhất theo tiêu chuẩn ngành toàn cầu để đảm bảo sự vận hành hiệu quả cho tổ chức của khách hàng.

Để tìm hiểu về các ứng dụng mở rộng hỗ trợ quản lý dự án của bạn, vui lòng tham khảo tại: Atlassian Marketplace

Menu