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.

Global Options

-v, --verbose

Increase logging verbosity.

Verbosity levels in increasing order are error, warning, info, debug, and trace. The default level is warning causing errors and warnings to be shown. Each -v/--verbose option specified increases the level up to the maximum so bite -vv …​ runs the given subcommand at the debug level.

Warning
Running at the trace level leaks authentication data as it outputs raw response structures including URLs which often include injected login parameters for authenticated sessions.
-q, --quiet

Decrease logging verbosity.

-h, --help

Print help output and exit.

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.

Template Options

Template files use the TOML format and generally map long option names to values. Explicitly specified options override corresponding template values.

Templates names without path separators are sourced from ${HOME}/.config/bugbite/templates/${CONNECTION}/${COMMAND}/${NAME} (with $XDG_CONFIG_HOME as a fallback) where $CONNECTION is the current connection name, $COMMAND is the subcommand name, and $NAME is the requested template name. For example, bite bugzilla -c gentoo search -n -c 1d --to test would save a template to ${HOME}/.config/bugbite/templates/gentoo/search/test while bite bugzilla -c gentoo search --from test would load it for use.

Template names with path separators are treated as relative paths in the current working directory.

-n, --dry-run

Skip service interaction.

Using -n/--dry-run allows creating templates without service interaction.

--from <name[,…​]>

Read request attributes from templates.

Multiple templates can be specified in a comma-separated list or via multiple options and will be loaded in order with later field values overriding earlier ones.

--to <name>

Write request attributes to a template.

Use - for standard output instead of writing to a file.

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

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

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.

--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

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

--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

-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

Supported operators:
  • .. — non-inclusive range

  • ..= — inclusive range

See Also