include::include/header.adoc[]

== Name

bite-bugzilla-search - search bugs

== Synopsis

*bite bugzilla <search|s>* [<options>] [<terms>]::
    Search bugs.

*bite bugzilla <search|s>* [-h|--help]::
    Output help information.

== Description

Search bugs.

include::include/global-options.adoc[]

== Search options

*-b, --browser*::
    Open in a browser.
+
This uses `$BROWSER` to open URLs, falling back to `xdg-open` if undefined.

*--json*::
    Output in JSON format.

include::include/template-options.adoc[]

== Query options

*-f, --fields <field[,...]>*::
    Restrict the data fields returned by the query.
+
By default, only the id and subject fields are returned. This can be altered by
specifying a custom list of comma-separated field while will change the output
format to a space-separated list of the field values.
+
Group fields relate to groups of bug fields and are most useful when using JSON
formatted output:
+
.Open bugs created in the past day rendered in JSON:
 bite bugzilla search --created 1d -f all --json
+
// TODO: link to rust docs for field descriptions
Possible group fields: all, default, extra, custom
+
Possible bug fields: alias, assignee, blocks, cc, component, created, creator
deadline, depends, duplicate-of, flags, id, keywords, os, platform, priority,
product, qa, resolution, see-also, severity, status, summary, tags, target,
updated, url, version, whiteboard

*-l, --limit <value>*::
    Limit the number of results.
+
If the value is higher than the maximum service limit that value is used
instead. If the limit is set to zero, all matching results are returned up to
the service limit.
+
Note that setting an explicit limit will disable result paging unless `--paged`
is used.
+
.First 10 open bugs:
 bite bugzilla search -l 10

*-O, --offset <value>*::
    Set the starting position for results.
+
Used in conjunction with the `-l/--limit`, offset defines the starting position
for the search. For example, given a search that would return 100 results, setting
limit to 10 and offset to 10 would return results 11 through 20 from the set
of 100.
+
.10 open bugs, skipping the first 100:
 bite bugzilla search -l 10 -O 100

*-o, --order <field[,...]>*::
    Order the query results.
+
Fields can be prefixed with `-` or `+` to sort in descending or ascending
order, respectively. Unprefixed fields will use ascending order.
+
Multiple fields are supported via comma-separated lists which sort by each
field in order.
+
Note that if an invalid sorting request is made, sorting will fallback to the
service default.
+
Ordering is especially useful in combination with -l/--limit to get the first
or last results of an ordered match.
+
.Least recently updated:
 bite bugzilla search -l 10 -o updated
+
.Most popular by votes:
 bite bugzilla search --limit 10 --order=-votes
+
.Highest comment count:
 bite bugzilla search --limit 10 --order=-comments
+
// TODO: link to rust docs for field descriptions
Possible values: alias, assignee, blocks, comments, component, created,
deadline, depends, flags, id, keywords, last-visit, os, platform, priority,
product, qa, reporter, resolution, severity, status, summary, tags, target,
updated, url, version, votes, whiteboard

*--paged*::
    Enable result paging support.
+
Forcibly enable paging with `-l/--limit` using the given limit value as the
number of results per page.
+
This allows setting a smaller page size to get quicker, initial results for
large queries.
+
.All closed issues using 100 items per page, fetching 3 pages concurrently:
 bite bugzilla -C 3 search -s @closed -l 100 --paged

*-S, --quicksearch <query>*::
    Search for bugs using quicksearch syntax.
+
.Reported by user or assigned to them
 bite bugzilla search -S 'ALL @user OR reporter:user'

== Attribute options

*-A, --alias* [<value[,...]>]::
    Restrict by alias.
+
With no argument, all bugs with aliases are returned. If the value is `true` or
`false`, all bugs with or without aliases are returned, respectively.
+
.With aliases:
 bite bugzilla search --alias
+
.Without aliases:
 bite bugzilla search --alias false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.
+
.Contains `value`:
 bite bugzilla search --alias value
+
.Contains `value1` and `value2`:
 bite bugzilla search --alias value1,value1
+
.Contains `value1` or `value2`:
 bite bugzilla search --alias value1 --alias value1

*-@, --attachments* [<value[,...]>]::
    Restrict by attachments.
+
With no argument, all bugs with attachments are returned. If the value is
`true` or `false`, all bugs with or without attachments are returned,
respectively.
+
.With attachments:
 bite bugzilla search -@
+
.Without attachments:
 bite bugzilla search --attachments false
+
Regular string values search for matching substrings in an attachment's
description or file name. Values can also use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list and will match if
any of the specified values match.
+
.Attachment description or file name contains `log` or `test`:
 bite bugzilla search --attachments log,test

*-B, --blocks* [<id[,...]>]::
    Restrict by blockers.
+
With no argument, all bugs with blockers are returned. If the value is `true`
or `false`, all bugs with or without blockers are returned, respectively.
+
.With blockers:
 bite bugzilla search --blocks
+
.Without blockers:
 bite bugzilla search --blocks false
+
Regular values search for matching blockers and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Also, values are taken from standard input when `-`.
+
.Blocked on bug 10:
 bite bugzilla search --blocks 10
+
.Blocked on bugs 10 and 11:
 bite bugzilla search --blocks 10,11
+
.Blocked on bugs 10 or 11:
 bite bugzilla search --blocks 10 --blocks 11
+
Values can use the `-` prefix to search for non-blockers.
+
.Not blocked on bug 10:
 bite bugzilla search --blocks=-10
+
.Blocked on bug 10 but not bug 11:
 bite bugzilla search --blocks 10,-11
+
Range values are supported, (see sections <<Range Operators>> and <<Ranges>>
for more information.
+
.Blocked on bugs greater than or equal to 10:
 bite bugzilla search --blocks '>=10'
+
.Blocked on bugs between 10 and 20:
 bite bugzilla search --blocks 10..20
+
.Blocked on bugs matching a given search:
 bite bugzilla search test -f id | bite bugzilla search --blocks -

*-C, --component* <value[,...]>::
    Restrict by component.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

// TODO: mention using fields subcommand to show custom fields
*--cf <name>[=<value>]*::
    Restrict by custom field.
+
With no value, all bugs with the related custom field are returned. If the
value is `true` or `false`, all bugs with or without the custom field are
returned, respectively.
+
Custom field names must match the underlying values used in the Bugzilla web
interface of the form `cf_field_name`.
+
.With custom field:
 bite bugzilla search --cf cf_field_name
+
.Without custom field:
 bite bugzilla search --cf cf_field_name=false
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
.Contains `test`:
 bite bugzilla search --cf cf_field_name=test
+
.Equals `test`:
 bite bugzilla search --cf cf_field_name='== test'

*-D, --depends* [<id[,...]>]::
    Restrict by dependencies.
+
With no argument, all bugs with dependencies are returned. If the value is
`true` or `false`, all bugs with or without dependencies are returned,
respectively.
+
.With dependencies:
 bite bugzilla search --depends
+
.Without dependencies:
 bite bugzilla search --depends false
+
Regular values search for matching dependencies and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Also, values are taken from standard input when `-`.
+
.Depends on bug 10:
 bite bugzilla search --depends 10
+
.Depends on bugs 10 and 11:
 bite bugzilla search --depends 10,11
+
.Depends on bugs 10 or 11:
 bite bugzilla search --depends 10 --depends 11
+
Values can use the `-` prefix to search for non-dependencies.
+
.Doesn't depend on bug 10:
 bite bugzilla search --depends=-10
+
.Depends on bug 10 but not 11:
 bite bugzilla search --depends 10,-11
+
Range values are supported, (see sections <<Range Operators>> and <<Ranges>>
for more information.
+
.Depends on bugs greater than or equal to 10:
 bite bugzilla search --depends '>=10'
+
.Depends on bugs between 10 and 20:
 bite bugzilla search --depends 10..20
+
.Depends on bugs matching a given search:
 bite bugzilla search test -f id | bite bugzilla search --depends -

*-F, --flags* [<value[,...]>]::
    Restrict by flag.
+
With no argument, all bugs with flags are returned. If the value is `true` or
`false`, all bugs with or without flags are returned, respectively.
+
.With flags:
 bite bugzilla search --flags
+
.Without flags:
 bite bugzilla search --flags false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.
+
.Contains `value`:
 bite bugzilla search --flags value
+
.Contains `value1` and `value2`:
 bite bugzilla search --flags value1,value1
+
.Contains `value1` or `value2`:
 bite bugzilla search --flags value1 --flags value1

*-g, --groups* [<value[,...]>]::
    Restrict by group.
+
With no argument, all bugs with groups are returned. If the value is `true` or
`false`, all bugs with or without groups are returned, respectively.
+
.With groups:
 bite bugzilla search --groups
+
.Without groups:
 bite bugzilla search --groups false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.
+
.Contains `value`:
 bite bugzilla search --groups value
+
.Contains `value1` and `value2`:
 bite bugzilla search --groups value1,value1
+
.Contains `value1` or `value2`:
 bite bugzilla search --groups value1 --groups value1

*--id* <id[,...]>::
    Restrict by ID.
+
Regular values search for exact bug identifiers. Also, values are taken from
standard input when `-`.
+
.Equal to 10:
 bite bugzilla search --id 10
+
Values can use the `-` prefix to search for identifiers not equal to the value.
+
.Not equal to 10:
 bite bugzilla search --id=-10
+
Multiple values can be specified in a comma-separated list or multiple options.
If any ID range is specified logical AND is used, otherwise values are combined
via logical OR.
+
.IDs greater than 10 and less than 20:
 bite bugzilla search --id '>10,<20'
+
.ID 10 or 20:
 bite bugzilla search --id 10 --id 20
+
Range values are supported, (see sections <<Range Operators>> and <<Ranges>>
for more information.
+
.IDs greater than or equal to 10:
 bite bugzilla search --id '>=10'
+
.IDs between 10 and 20:
 bite bugzilla search --id 10..20
+
.Any ID matching values taken from a file:
 cat file | bite bugzilla search --id -

*-k, --keywords* [<value[,...]>]::
    Restrict by keyword.
+
With no argument, all bugs with keywords are returned. If the value is `true`
or `false`, all bugs with or without keywords are returned, respectively.
+
.With keywords:
 bite bugzilla search --keywords
+
.Without keywords:
 bite bugzilla search --keywords false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.
+
.Contains `value`:
 bite bugzilla search --keywords value
+
.Contains `value1` and `value2`:
 bite bugzilla search --keywords value1,value1
+
.Contains `value1` or `value2`:
 bite bugzilla search --keywords value1 --keywords value1

*--os* <value[,...]>::
    Restrict by operating system.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*--platform* <value[,...]>::
    Restrict by platform.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*--priority* <value[,...]>::
    Restrict by priority.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*-p, --product* <value[,...]>::
    Restrict by product.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*-r, --resolution* <value[,...]>::
    Restrict by resolution.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*-U, --see-also* [<value[,...]>]::
    Restrict by tracker URLs.
+
With no argument, all bugs with tracker URLs are returned. If the value is
`true` or `false`, all bugs with or without tracker URLs are returned,
respectively.
+
.With tracker URLs:
 bite bugzilla search --see-also
+
.Without tracker URLs:
 bite bugzilla search --see-also false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.

*--severity* <value[,...]>::
    Restrict by severity.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*-s, --status* <value[,...]>::
    Restrict by status.
+
By default, searches with no status parameter only target open bugs. This
option supports extending searches to closed bugs.
+
Regular values search for case-insensitive matches. The prefix `!` can be used
to search for all non-matches instead.
+
.Unconfirmed bugs:
 bite bugzilla search --status unconfirmed
+
.Unresolved bugs:
 bite bugzilla search --status '!resolved'
+
Multiple values can be specified in a comma-separated list for logical OR.
+
.Confirmed or verified bugs:
 bite bugzilla search --status confirmed,verified
+
// TODO: update when implementation reverts to using regular values
The aliases `@open`, `@closed`, and `@all` can be used to search for open,
closed, and all bugs, respectively. Note that alias usage will only use the
last value when multiple are specified.
+
.Closed bugs with bugbite in the summary:
 bite bugzilla search --status @closed bugbite
+
.All bugs assigned to yourself:
 bite bugzilla search --status @all --assignee @me

*-t, --tags* [<value[,...]>]::
    Restrict by personal tags.
+
With no argument, all bugs with personal tags are returned. If the value is
`true` or `false`, all bugs with or without personal tags are returned,
respectively.
+
.With personal tags:
 bite bugzilla search --tags
+
.Without personal tags:
 bite bugzilla search --tags false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.

*-T, --target* <value[,...]>::
    Restrict by target milestone.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*--url* [<value[,...]>]::
    Restrict by URL.
+
With no argument, all bugs with a URL are returned. If the value is `true` or
`false`, all bugs with or without URLs are returned, respectively.
+
.With URL:
 bite bugzilla search --url
+
.Without URL:
 bite bugzilla search --url false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.

*-V, --version* <value[,...]>::
    Restrict by version.
+
Values search for matching substrings or can use match operators to alter their
query application. See the <<Match Operators>> section for more information.
+
Multiple values can be specified in a comma-separated list for logical OR.

*-w, --whiteboard* [<value[,...]>]::
    Restrict by whiteboard.
+
With no argument, all bugs with whiteboard info are returned. If the value is
`true` or `false`, all bugs with or without whiteboard info are returned,
respectively.
+
.With whiteboard:
 bite bugzilla search --whiteboard
+
.Without whiteboard:
 bite bugzilla search --whiteboard false
+
Regular values search for matching substrings and multiple values can be
specified in a comma-separated list for logical AND or multiple options for
logical OR. Values can also use match operators to alter their query
application. See the <<Match Operators>> section for more information.

== Attachment options

*--attachment-description* <value[,...]>::
    Restrict by attachment description.
+
Values search for matching substrings and multiple values can be specified in a
comma-separated list for logical AND or multiple options for logical OR. Match
operators can also be used alter query application, see the <<Match Operators>>
section for more information.
+
.Debug attachments:
 bite bugzilla search --attachment-description debug

*--attachment-filename* <value[,...]>::
    Restrict by attachment file name.
+
Values search for matching substrings and multiple values can be specified in a
comma-separated list for logical AND or multiple options for logical OR. Match
operators can also be used alter query application, see the <<Match Operators>>
section for more information.
+
.Tarball attachments:
 bite bugzilla search --attachment-filename '=* .+\.tar\..+'

*--attachment-mime* <value[,...]>::
    Restrict by attachment MIME type.
+
Values search for matching substrings and multiple values can be specified in a
comma-separated list for logical AND or multiple options for logical OR. Match
operators can also be used alter query application, see the <<Match Operators>>
section for more information.
+
.Text-based attachments:
 bite bugzilla search --attachment-mime '=* text/.+'

*--attachment-is-obsolete* [<bool>]::
    Restrict by attachment obsolete status.
+
.With obsolete attachments:
 bite bugzilla search --attachment-is-obsolete

*--attachment-is-patch* [<bool>]::
    Restrict by attachment patch status.
+
.With patch attachments:
 bite bugzilla search --attachment-is-patch

*--attachment-is-private* [<bool>]::
    Restrict by attachment private status.
+
.With no private attachments:
 bite bugzilla search --attachment-is-private false

== Range options

*--comments* <value>::
    Restrict by the number of comments.
+
Values can either be numbers, numbers prefixed with operators (see section
<<Range Operators>>), or ranges (see section <<Ranges>>).
+
Note that a bug's description is counted as a comment, but does not increment
the overall comment count shown by the `get` or `comment` subcommands.
+
.Exactly ten comments:
 bite bugzilla search --comments 10
+
.At least ten comments:
 bite bugzilla search --comments '>=10'
+
.Between five and ten comments:
 bite bugzilla search --comments 5..10

*--votes* <value>::
    Restrict by the number of votes.
+
Values can either be numbers, numbers prefixed with operators (see section
<<Range Operators>>), or ranges (see section <<Ranges>>).
+
Note that a bug's description is counted as a comment, but does not increment
the overall comment count shown by the `get` or `comment` subcommands.
+
.Exactly ten votes:
 bite bugzilla search --votes 10
 bite bugzilla search --votes '=10'
+
.At least ten votes:
 bite bugzilla search --votes '>=10'
+
.Between five and ten votes:
 bite bugzilla search --votes 5..10

== Change options

// TODO: list possible change fields

*--changed* <field[,...][=time]>::
    Restrict by fields changed within a time interval.
+
By default, this will match any change to the specified fields if no time interval is
given. Queries can be inverted per field by prefixing the field name with `!`.
+
.Summary changed:
 bite bugzilla search --changed summary
+
.Summary never changed:
 bite bugzilla search --changed '!summary'
+
.Summary changed in the last week:
 bite bugzilla search --changed summary=1w
+
.Summary changed in 2020 or later:
 bite bugzilla search --changed summary=2020
 bite bugzilla search --changed summary='>2020'
 bite bugzilla search --changed summary='2020..'
+
.Summary changed before 2020:
 bite bugzilla search --changed summary='<2020'
 bite bugzilla search --changed summary='..2020'
+
.Summary changed between 2020 and 2022:
 bite bugzilla search --changed summary='2020..2022'

*--changed-by* <field[,...]=user[,...]>::
    Restrict by fields changed by a given user.

*--changed-from* <field=value>::
    Restrict by fields changed from a given value.

*--changed-to* <field=value>::
    Restrict by fields changed to a given value.

== Time options

// TODO: include external doc describing time value format

*-c, --created* <time>::
    Restrict by creation time.
+
.Created in the last day:
 bite bugzilla search -c 1d

*-u, --updated* <time>::
    Restrict by update time.
+
.Updated in the last week:
 bite bugzilla search -u 1w

*--closed* <time>::
    Restrict by closed time.
+
.Closed in the last month:
 bite bugzilla search --closed 1m

== User Options

All user-related options search for matching substrings in login IDs by
default. Multiple values are also supported in a comma-separated list for
logical AND or multiple options for logical OR. Match operators may also be
used to alter query application, see the <<Match Operators>> section for more
information.

In addition, the alias `@me` is supported if a user account is specified for the
current service connection.

*-a, --assignee* <user[,...]>::
    Restrict by assignee user.
+
.Assigned to yourself:
 bite bugzilla search --assignee @me

*--attacher* <user[,...]>::
    Restrict by attachment creation user.
+
.Attachment created by Gmail user:
 bite bugzilla search --attacher @gmail.com

*--cc* [<user[,...]>]::
    Restrict by CC user.
+
With no argument, all bugs with CC users are returned. If the value is `true`
or `false`, all bugs with or without CC users are returned, respectively.
+
.With CC:
 bite bugzilla search --cc
+
.Without CC:
 bite bugzilla search --cc false
+
See the information above in the <<User Options>> section for regular values.

*--commenter* <user[,...]>::
    Restrict by commenting user.
+
.No comment made by Gentoo devs:
 bite bugzilla search --commenter '!~ @gentoo.org'

*--flagger* <user[,...]>::
    Restrict by flag creation user.
+
.Flagged by user1 and user2:
 bite bugzilla search --flagger user1,user2

*--qa* [<user[,...]>]::
    Restrict by QA contact user.
+
With no argument, all bugs with QA contacts are returned. If the value is
`true` or `false`, all bugs with or without QA contacts are returned,
respectively.
+
.With QA contact:
 bite bugzilla search --qa
+
.Without QA contact:
 bite bugzilla search --qa false
+
See the information above in the <<User Options>> section for regular values.

*-R, --reporter* <user[,...]>::
    Restrict by reporting user.
+
.Reported by user1 or user2:
 bite bugzilla search --reporter user1 --reporter user2

== Comment options

*--comment* <term>::
    Restrict by comment content.
+
Regular values search for matching substrings and multiple values can be
specified in multiple options for logical AND. Values can use match operators
to alter their query application. See the <<Match Operators>> section for more
information.
+
Values are taken from standard input when `-`.

*--comment-is-private* [<bool>]::
    Restrict by comment private status.
+
.With private comments:
 bite bugzilla search --comment-is-private

*--comment-tag* <value[,...]>::
    Restrict by comment tag.
+
Values search for matching substrings and multiple values can be specified in a
comma-separated list for logical AND or multiple options for logical OR. Match
operators can also be used alter query application, see the <<Match Operators>>
section for more information.
+
.Comments tagged as spam:
 bite bugzilla search --comment-tag spam

== Arguments

*[<terms>]*::
    Restrict by summary content.
+
Regular values search for matching substrings and multiple values can be
specified in multiple options for logical AND. Values can use match operators
to alter their query application. See the <<Match Operators>> section for more
information.
+
Values are taken from standard input when `-`.
+
.Summary contains `test`:
 bite bugzilla search test

== Match Operators

Various restrictions can use match operators to alter a value's query
application. Values with no or unknown operators default to substring matching.

.Supported operators:
- `=~` -- contains case-sensitive substring
- `~~` -- contains case-insensitive substring
- `!~` -- doesn't contain case-insensitive substring
- `==` -- equal to value
- `!=` -- not equal to value
- `=*` -- matches regular expression
- `!*` -- doesn't match regular expression

Operators are applied as prefixes to values with a single space between,
wrapping the entire string in single quotes to avoid various shell expansion
support. See the following examples searching aliases for proper usage:

.Contains `value`:
 bite bugzilla search --alias '=~ value'

.Contains `value`, `VaLuE`, or other case-insensitive permutations:
 bite bugzilla search --alias '~~ value'

.Doesn't contain `value`, `VaLuE`, or other case-insensitive permutations:
 bite bugzilla search --alias '!~ value'

.Equals `value`:
 bite bugzilla search --alias '== value'

.Doesn't equal `value`:
 bite bugzilla search --alias '!= value'

.Matches regex:
 bite bugzilla search --alias '=* test?.+'

.Doesn't match regex:
 bite bugzilla search --alias '!* test?.+'

== Range Operators

.Supported operators:
- `<` -- less than
- `+<=+` -- less than or equal
- `=` -- equal
- `!=` -- not equal
- `>=` -- greater than or equal
- `>` -- greater than

== Ranges

// TODO: add examples and more in-depth range descriptions

.Supported operators:
- `..` -- non-inclusive range
- `..=` -- inclusive range

== See Also

linkcmd:bite-bugzilla[1]
