Skip to content

Structured filter grammar: OR via repeated flags, not:, none, AND across flags #607

Description

@arcaven

Observation

jr issue list currently offers structured filters for status/team/assignee/reporter/dates/asset — but not --label, --component, --priority, or --type, and no filter supports negation, OR, or emptiness. Everything else forces a drop to hand-written --jql.

Proposal: one boolean mini-grammar, shared by all structured filters

Form Meaning JQL emitted
--X a --X b OR within dimension X in (a, b)
--X not:a negation (X not in (a) OR X is EMPTY) — flag-documented choice
--X none empty X is EMPTY
--X all:a --X all:b AND within dimension (multi-valued fields) X = a AND X = b
different flags AND across dimensions (…) AND (…)
with --jql structured flags append <jql> AND (…)
  • Prefix style (not:, all:, none) deliberately matches the existing add:/remove: convention on edit flags — one prefix vocabulary across the CLI.
  • Applies to: --component (filed separately as the first full implementation), --label, --status, --priority, --type, and the existing single-valued flags gain not:/repetition where meaningful.
  • --verbose already prints the request; it should show the final composed JQL so users can graduate to raw --jql when they outgrow the grammar.

This is a design-level issue; happy to split per-flag implementation issues once the grammar is agreed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions