- Plane vừa bật PQL — ngôn ngữ text filter work items và epics.
- Viết một dòng như [state="In Progress" AND priority != "urgent"], lưu thành view, share URL, cả team chạy đúng filter đó.
TL;DR
Plane vừa ra mắt Plane Query Language (PQL) — cú pháp text để filter work items và epics. Thay vì click chuột qua dropdown, bạn gõ một dòng như [state = "In Progress" AND assignee = "Ethan" AND priority != "urgent" AND updatedat <= "2026-03-07"], save thành view, share URL. Ai mở URL cũng chạy đúng filter đó. PQL đã được tích hợp vào work-item search trong bản cập nhật 31/03/2026, kèm loạt fix cho PQL editor và nút Update ở saved view.
Có gì mới
Trước đây Plane filter bằng UI dropdown: chọn field → chọn operator → chọn value, lặp lại cho từng điều kiện. Với backlog 2.000 issue và 5–6 điều kiện, bạn click mỏi tay và khó chia sẻ chính xác filter đó cho đồng nghiệp.
PQL đổi cách đó. Một expression text gọn trong dấu ngoặc vuông, boolean AND nối các điều kiện, operators so sánh (=, !=, <=) quen thuộc với bất kỳ ai từng viết SQL hay JQL. Ví dụ chính thức từ @planepowers:
[state = "In Progress" AND assignee = "Ethan" AND priority != "urgent" AND updatedat <= "2026-03-07"]Save query đó thành view, URL tự mang theo filter — paste link vào Slack, ai click cũng thấy đúng slice bạn nhìn.
Vì sao quan trọng
Filter UI tốt cho câu hỏi đơn giản. Nhưng công việc thực tế của PM / EM là combine 4+ điều kiện, lặp hàng ngày, share cho người khác. Ba thứ PQL giải được:
- Tốc độ triage: một dòng text nhanh hơn một chuỗi click, đặc biệt khi bạn đã thuộc field names.
- Khả năng share chính xác: URL = query. Không còn cảnh "mày filter lại như tao nói nhé" — paste link là xong.
- Muscle memory và automation: query text có thể copy-paste, version, để trong doc onboarding, hoặc sinh ra từ script. UI dropdown không làm được.
Chi tiết kỹ thuật
Cú pháp cơ bản: [field operator "value" AND field operator "value" ...].
Operators đã công bố trong ví dụ: =, !=, <=, cùng boolean AND. Hệ thống filter tương ứng (dropdown) của Plane hỗ trợ thêm: is, is not, contains, does not contain, before, after, between, less than, greater than — khả năng cao PQL cover cùng tập ngữ nghĩa khi gõ text.
Fields filter được (khoảng 20+):
| Nhóm | Field |
|---|---|
| Trạng thái | state, state_group, priority, type |
| Người | assignee, mentions, created_by |
| Thời gian | start_date, due_date, created_at, updated_at |
| Tổ chức | cycle, module, milestone, labels, title |
| Custom | bất kỳ property nào bạn định nghĩa trên work item type |
Editor được vá trong bản 31/03/2026: ẩn nút submit khi query chưa hợp lệ, disable Enter-key submit khi không nên, và reinitialize sạch khi field definitions thay đổi. Nút Update ở saved view giờ hiện đúng khi filters, display properties, hoặc PQL query thay đổi.
So sánh với JQL, Linear, GitHub Issues
| Công cụ | Style | Điểm mạnh | Điểm yếu |
|---|---|---|---|
| Plane PQL | Text expression, keyboard-first | Gọn, share qua URL, boolean tường minh | Mới ra, chưa public full grammar |
| Jira JQL | Text, nhiều function | Rất mạnh, ecosystem lớn | Cú pháp dài dòng, học cao |
| Linear filter URL | URL-encoded, UI-first | Visual, UX mượt | Không có "language" để gõ |
| GitHub Issues | key:value tokens | Quen với dev, nhanh | Không có !=, <=, boolean yếu |
PQL nằm giữa GitHub-style tokens và JQL full-blown DSL — đủ expressive cho 80% use-case triage mà không bắt học function.
Use cases thực tế
- Triage backlog 2.000 issue: slice theo state + priority + tuổi ticket trong một dòng.
- Prep standup:
[state = "In Progress" AND assignee = "me"]. - Stakeholder hỏi bất chợt: gõ query, save view, paste URL vào reply.
- Recurring reports: tickets stale (
updated_at <= "..."), bugs chưa assign priority cao, issue mở lâu trong một module. - Audit: đúng kịch bản ví dụ launch — mọi ticket
priority != "urgent"chạm vào trước ngày X.
Hưởng lợi nhiều nhất: PM quản lý backlog lớn, EM chạy standup hằng ngày, và bất kỳ ai build cùng một filter quá hai lần.
Giới hạn & pricing
Vài thứ cần lưu ý trước khi dựa nhiều vào PQL:
- Free plan bị giới hạn operator: theo docs filter của Plane, Free tier chỉ có
is+betweencho date field. Các operator giàu hơn (is not,after,before…) thuộc paid plan — tức là!=,<=trong PQL nhiều khả năng cũng là tính năng trả phí. Kiểm tra trên workspace của bạn trước khi dựng quy trình phụ thuộc vào nó. - Grammar public chưa đầy đủ: ví dụ launch dùng
updatedat(không underscore), trong khi docs filter gọi field làupdated_at. Nguồn chính xác hiện tại là autocomplete của editor, không phải reference page. - Chưa thấy
OR/ ngoặc đơn trong demo: ví dụ công bố chỉ là chuỗiANDphẳng. Boolean grouping phức tạp có thể đã support hoặc đang on roadmap. - PQL còn mới: editor vừa vá một loạt bug DX trong bản 31/03/2026 — kỳ vọng UX sẽ còn tinh chỉnh vài tháng tới.
Next steps
PQL là bước Plane đi từ "project management tool" sang "query-able workspace" — hợp hướng với các entry changelog gần đây: dashboards hỗ trợ work item filters, wiki collections, AI charts. Kỳ vọng hợp lý cho vài tháng tới: reference grammar đầy đủ, hỗ trợ OR + ngoặc đơn (nếu chưa có), PQL cho dashboard widgets, và khả năng hit PQL qua API để build report ngoài.
Nếu bạn đang dùng Plane cho backlog lớn, tạo 3–5 saved view PQL cho các câu hỏi bạn lặp lại hằng tuần (stale tickets, standup, stakeholder slice) — URL ở đó, copy-paste được, vẫn giữ nguyên ý nghĩa 6 tháng sau.
Nguồn: @planepowers, Plane Changelog 31/03/2026, Plane Docs — Filter work items.