# Trackwell Query Filter > Filter an exported issue list with a JQL-style query: status, assignee, dates, ORDER BY. Runs a query such as “project = WEB AND status != Done AND assignee = me ORDER BY priority” over an exported issue list (Trackwell project, Trackwell CSV or Jira CSV) and returns the matching issues as a table and CSV. Same query language as the list view in Trackwell. Part of usefulweb.app (https://usefulweb.app/). Part of [Trackwell](https://trackwell.usefulweb.app/) (ownerApp: trackwell). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://trackwelljqlfilter.usefulweb.app/ (interactive tool at https://trackwelljqlfilter.usefulweb.app/tool) - JSON API: POST https://trackwelljqlfilter.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://trackwelljqlfilter.usefulweb.app/api/v1/tool) - OpenAPI: https://trackwelljqlfilter.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://trackwelljqlfilter.usefulweb.app/mcp - tool `trackwell_jql_filter` ## Inputs - issues (textarea): Issues (JSON or CSV) - A Trackwell project file (.trackwell.json), a Trackwell CSV export or a Jira CSV export. - issuesFile (file): Issues file (optional) - Used instead of the pasted text when given. - query (text): Query - Fields: project, key, type, status, statusCategory, priority, severity, assignee, reporter, labels, component, fixVersion, sprint, parent, epic, created, updated, resolved, due, resolution, text, summary, storyPoints and custom fields by name. Operators: = != > >= < <= ~ !~ IN, NOT IN, IS EMPTY. Values: words, "quoted text", 2026-11-24, -7d, me, today(), openSprints(). - me (text): Who is “me” - A person’s name or id in the issue list. Used by assignee = me. - asOf (date): Today is - Relative dates (-7d, today()) count from this day. Empty = today. ## Method - The query is parsed into AND/OR/NOT clauses (NOT binds tightest, then AND, then OR; brackets group). Field names and keywords are case-insensitive; text comparisons ignore case. - Status, type, priority, people, components, versions and sprints match their name or their id. = and IN match any value; != and NOT IN match when no value is equal (empty fields match !=); ~ means “contains”. - Priority and severity compare by urgency (priority > Medium = High and Highest). Dates compare by day when the value is a date; -7d, +2w and today() count from the “Today is” date. - ORDER BY sorts by one or more fields; ascending is the default, and for priority and severity ascending means the most urgent first. Without ORDER BY the backlog rank is used. - CSV files are read with the same mapping as the Jira CSV import tool; the matches are exported again as CSV with Jira-compatible columns (RFC 4180, formula cells guarded). ## Limits - Jira is a trademark of Atlassian. TQL is Trackwell’s own query language and supports a subset of the ideas of JQL.