Agentic Jackal: Live Execution and Semantic Value Grounding for Text-to-JQL
Organizations: Commercial Technology and Innovation Office, PricewaterhouseCoopers, U.S.
Abstract
Translating natural language into Jira Query Language (JQL) requires resolving ambiguous field references, instance-specific categorical values, and complex Boolean predicates. Single-pass LLMs cannot discover which categorical values (e.g., component names or fix versions) actually exist in a given Jira instance, nor can they verify generated queries against a live data source, limiting accuracy on paraphrased or ambiguous requests. No open, execution-based benchmark exists for mapping natural language to JQL. We introduce Jackal, the first large-scale, execution-based text-to-JQL benchmark comprising 100,000 validated NL-JQL pairs on a live Jira instance with over 200,000 issues. To establish baselines on Jackal, we propose Agentic Jackal, a tool-augmented agent that equips LLMs with live query execution via the Jira MCP server and JiraAnchor, a semantic retrieval tool that resolves natural-language mentions of categorical values through embedding-based similarity search. Among 9 frontier LLMs evaluated, single-pass models average only 43.4% execution accuracy on short natural-language queries, highlighting that text-to-JQL remains an open challenge. The agentic approach improves 7 of 9 models, with a 9.0% relative gain on the most linguistically challenging variant; in a controlled ablation isolating JiraAnchor, categorical-value accuracy rises from 48.7% to 71.7%, with component-field accuracy jumping from 16.9% to 66.2%. Our analysis identifies inherent semantic ambiguities, such as issue-type disambiguation and text-field selection, as the dominant failure modes rather than value-resolution errors, pointing to concrete directions for future work. We publicly release the benchmark, all agent transcripts, and evaluation code to support reproducibility.
Figures & tables
| Model | Naive | Agentic | |
| Gemini 3 Flash | .628 | .710 | +.082 |
| Gemini 3 Pro | .641 | .671 | +.030 |
| GPT-5 Mini | .616 | .638 | +.022 |
| Claude Opus 4.6 | .634 | .653 | +.019 |
| Pixtral Large | .537 | .554 | +.017 |
| GPT-5.2 | .659 | .670 | +.011 |
| Model | Baseline | w/ JiraAnchor | |
| GPT-5 Mini | .393 | .710 | +.317 |
| GPT-5.2 | .416 | .705 | +.289 |
| Pixtral Large | .453 | .742 | +.289 |
| Claude Sonnet 4.5 | .462 | .733 | +.271 |
| GPT-4o | .449 | .710 | +.261 |
| Gemini 3 Pro | .527 | .742 | +.215 |
| NL Mention | Without | With JiraAnchor |
| “7.0” field: fixVersion | ‘‘7.0’’ 0 results | ‘‘7.0 (Next Major Release)’’ correct |
| “build tools” field: component | ‘‘build tools’’ 0 results | ‘‘Build tools: Other’’ correct |
| “QDS 1.6 Beta” field: fixVersion | not resolved | ‘‘QDS 1.6 Beta’’ correct |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Clauses | JQL | Long NL | Sem. Exact | Sem. Similar | Short NL |
|---|---|---|---|---|---|
| 2 | updated <= -90d AND issuetype in ("Epic") | I’m checking for epics that haven’t been updated in the last 90 days, so we can identify any long-standing items that might need attention or could potentially be closed. | Updated is less than or equal to 90 days ago, and issue type is Epic | Large-scale tasks that haven’t been changed in the last three months | Epics inactive for 90+ days |
| 3 | created >= -4w AND assignee is EMPTY AND issuetype in ("User Story") | I’m checking for any user stories that have been created in the last four weeks but haven’t been assigned to anyone yet, so we can make sure nothing important is slipping through the cracks. | Created is within the last 4 weeks, assignee is empty, and issue type is User Story | Stories added in the last month that haven’t been assigned to anyone yet | Unassigned user stories created in last 4 weeks |
| 4 | updated >= "2025-01-01" AND issuetype in ("Bug") AND priority is not EMPTY AND description ˜ "crash" | I’m searching for bug reports that have been updated since the start of 2025, specifically those that mention a crash in their description and have a priority set. This helps me focus on recent and prioritized crash-related issues that might need urgent attention. | Updated is on or after 2025-01-01, issue type is Bug, priority is not empty, and description contains crash | Problems flagged as bugs, with a set urgency level, mentioning crashes, and modified after the start of 2025 | Bugs with priority and crash in description updated since 2025 |
| 5 | updated <= "2025-01-01" AND description ˜ "error" AND affectedVersion is not EMPTY AND resolution is EMPTY AND issuetype in ("Epic", "User Story", "Task", "Sub-task") | I’m looking for any Epics, User Stories, Tasks, or Sub-tasks that mention ‘error’ in their description, have at least one affected version specified, haven’t been resolved yet, and were last updated on or before January 1st, 2025. | Updated is on or before 2025-01-01, description contains error, affected version is not empty, resolution is empty, and issue type is Epic, User Story, Task, or Sub-task | Items that mention an error, haven’t been resolved yet, are linked to a specific version, and were last changed before January 2025, covering all major and minor work categories. | Unresolved issues with error in description |
| Naive | Agentic | (Agentic Naive) | |||||
| Model | Overall | Overall | Overall | Long NL | Short NL | Sem. Exact | Sem. Similar |
| Gemini 3 Flash | .628 | .710 | +.082 | +.067 | +.173 | +.059 | +.028 |
| Gemini 3 Pro | .641 | .671 | +.030 | .024 | +.091 | +.012 | +.039 |
| GPT-5 Mini | .616 | .638 | +.022 | .035 | +.063 | +.020 | +.040 |
| Claude Opus 4.6 | .634 | .653 | +.019 | .035 | +.047 | +.020 | +.044 |
| Pixtral Large | .537 | .554 | +.017 | +.036 | .008 | +.126 | .087 |
| Fix Version | Affected Version | Components | Overall Avg. | |||||||||
| Model | Base | +JA | Base | +JA | Base | +JA | Base | +JA | ||||
| Claude Sonnet 4.5 | .639 | .736 | +.097 | .611 | .764 | +.153 | .137 | .699 | +.562 | .462 | .733 | +.271 |
| Claude Opus 4.6 | .736 | .778 | +.042 | .722 | .778 | +.056 | .425 | .644 | +.219 | .628 | .733 | +.105 |
| Gemini 3 Flash | .790 | .710 | .080 | .806 | .871 | +.065 | .206 | .619 | +.413 | .601 | .733 | +.132 |
| Gemini 3 Pro | .667 | .722 | +.055 | .694 | .792 | +.098 | .219 | .712 | +.493 | .527 | .742 | +.215 |
| GPT-4o | .569 | .736 | +.167 | .667 | .750 | +.083 | .110 | .644 | +.534 | .449 | .710 | +.261 |
Tool-Augmented Language Model Agents
Tool-augmented language model agents use external tools, APIs, and environments to solve tasks beyond text generation alone.
See all 167 papers