include::include/header.adoc[]

== Name

bite-bugzilla-update - update bugs

== Synopsis

*bite bugzilla <update|u>* <options> <ids>::
    Update bugs.

*bite bugzilla <update|u>* [-h|--help]::
    Output help information.

== Description

Update bugs.

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

== Update options

*-R, --reply*::
    Interactively reply to specific comments for a given bug.
+
Values must be valid comment IDs specific to the bug, starting at 0 for the
description. If no value is specified the last comment will be used.
+
This option forces interactive usage, launching an editor pre-populated with
the selected comments allowing the user to respond in a style reminiscent of
threaded messages on a mailing list. On completion, the data is used to create
a new bug comment.
+
Multiple arguments can be specified in a comma-separated list.
+
.Reply to comments 1 and 2:
 bite bugzilla update 123 --reply 1,2
+
.Reply to the last comment:
 bite bugzilla update 123 --reply

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

.Update bug using template:
 bite bugzilla update 123 --from template1 -c 'updated using template'

.Create template using specified values:
 bite bugzilla update -p TestProduct -C TestComponent --to template1 --dry-run

== Attribute options

*-A, --alias* <value[,...]>::
    Add, remove, or set aliases.
+
Values must be unique when adding or setting and are ignored when missing when
removing.
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values are treated as set values and override the entire list,
ignoring any prefixed values.
+
Multiple arguments can be specified in a comma-separated list while no
arguments removes the entire list.
+
.Add alias `a1`:
 bite bugzilla update 10 --alias +a1
+
.Add alias `a2` and remove `a1`:
 bite bugzilla update 10 --alias +a2,-a1
+
.Set aliases to `a3`:
 bite bugzilla update 10 --alias a3

*-a, --assignee* <user>::
    Assign a bug to a user.
+
The value must be an email address for a service user. The alias `@me` can also
be used for the service's configured user if one exists.
+
No argument or an empty string will reset the field to the default for target
component.
+
.Assign to yourself:
 bite bugzilla update 123 --assignee @me
+
.Reset to default:
 bite bugzilla update 123 --assignee

*-b, --blocks* <id[,...]>::
    Add, remove, or set blockers.
+
Values must be valid IDs for existing bugs.
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values are treated as set values and override the entire list,
ignoring any prefixed values.
+
Multiple arguments can be specified in a comma-separated list while no
arguments removes the entire list.
+
.Add blocker on bug 1:
 bite bugzilla update 10 --blocks +1
+
.Add bug 2 and remove bug 1 blockers:
 bite bugzilla update 10 --blocks +2,-1
+
.Set blockers to bug 3:
 bite bugzilla update 10 --blocks 3

*--cc* <user[,...]>::
    Add or remove users from the CC list.
+
Values must be email addresses for service users. The alias `@me` can also be
used for the service's configured user if one exists.
+
.Add yourself to the CC list:
 bite bugzilla update 10 --cc @me
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values will be added to the list.
+
.Remove yourself from the CC list:
 bite bugzilla update 10 --cc=-@me
+
Multiple arguments can be specified in a comma-separated list.
+
.Add and remove addresses from the CC list:
 bite bugzilla update 10 --cc=+test1@email.com,-test2@email.com

*-c, --comment* <value>::
    Add a comment.
+
When no argument is specified, an editor is launched for interactive entry.
+
Taken from standard input when `-`.

*-F, --comment-from* <path>::
    Add a comment from a file.
+
The value must be the path to a valid comment file.
+
.Create a comment from a file:
 bite bugzilla update 10 --comment-from path/to/file.txt

*-P, --comment-is-private*::
    Mark created comment as private.
+
.Create a private comment:
 bite bugzilla update 10 --comment test --comment-is-private
+
.Create a private comment from a file:
 bite bugzilla update 10 --comment-from path/to/file.txt --comment-is-private
+
.Create a private reply to last comment:
 bite bugzilla update 10 --reply --comment-is-private

*--comment-privacy <value>*::
    Update the privacy of existing comments.
+
The value must be comma-separated comment IDs local to the specified bug ID
starting at 0 for the bug description or a range of comment IDs. An optional
suffix consisting of boolean value in the form of `:true` or `:false` can be
included to enable or disable all comment privacy respectively. Without this
suffix, the privacy of all matching comments is toggled.
+
.Toggle comment 1 privacy:
 bite bugzilla update 10 --comment-privacy 1
+
.Toggle comment 1 and 2 privacy:
 bite bugzilla update 10 --comment-privacy 1,2
+
.Toggle all comment privacy:
 bite bugzilla update 10 --comment-privacy ..
+
.Disable comment 1 and 2 privacy:
 bite bugzilla update 10 --comment-privacy 1,2:false
+
.Mark comments 2-5 private:
 bite bugzilla update 10 --comment-privacy 2..=5:true

*-C, --component <value>*::
    Update component.

*--cf <name> <value>*::
    Update custom fields.
+
Custom field names must match the raw values used by bugzilla itself in the form of
`cf_custom_field_name`.
+
.Update custom field:
 bite bugzilla update 10 --cf cf_stabilisation_atoms "sys-libs/pkgcraft arm64"

*-d, --depends* <id[,...]>::
    Add, remove, or set dependencies.
+
Values must be valid IDs for existing bugs.
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values are treated as set values and override the entire list,
ignoring any prefixed values.
+
Multiple arguments can be specified in a comma-separated list while no
arguments removes the entire list.
+
.Add dependency on bug 1:
 bite bugzilla update 10 --depends +1
+
.Add bug 2 and remove bug 1 dependencies:
 bite bugzilla update 10 --depends +2,-1
+
.Set dependencies to bug 3:
 bite bugzilla update 10 --depends 3

*-D, --duplicate-of* <id>::
    Mark as a duplicate of the specified bug.
+
.Duplicate of bug 20:
 bite bugzilla update 10 --duplicate-of 20

*-f, --flags* <value[,...]>::
    Add or remove flags.
+
Values must be valid flags composed of the flag name followed by its status.
Supported statuses include `+`, `-`, and `?`. In addition, the special status
`X` removes a flag.
+
Multiple arguments can be specified in a comma-separated list.
+
.Add `test?` flag:
 bite bugzilla update 10 --flags 'test?'
+
.Add `check+` and remove `test?` flags:
 bite bugzilla update 10 --flags check+,testX

*-g, --groups* <value[,...]>::
    Add or remove groups.
+
Values must be valid service groups.
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values will be added to the list.
+
Multiple arguments can be specified in a comma-separated list.
+
.Add to `admin` group:
 bite bugzilla update 10 --groups +admin
+
.Add `test` and remove `admin` groups:
 bite bugzilla update 10 --groups +test,-admin

*-k, --keywords* <value[,...]>::
    Add, remove, or set keywords.
+
Values must be valid keywords.
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values are treated as set values and override the entire list,
ignoring any prefixed values.
+
Multiple arguments can be specified in a comma-separated list while no
arguments removes the entire list.
+
.Add `key` keyword:
 bite bugzilla update 10 --keywords +key
+
.Add `test` and remove `key` keywords:
 bite bugzilla update 10 --keywords +test,-key
+
.Set keywords to `verify`:
 bite bugzilla update 10 --keywords verify

*--os* <value>::
    Update operating system.

*--platform* <value>::
    Update platform.

*--priority* <value>::
    Update priority.

*-p, --product* <value>::
    Update product.

*--qa* <user>::
    Assign a QA contact for the bug.
+
The value must be an email address for a service user. The alias `@me` can also
be used for the service's configured user if one exists.
+
No argument or an empty string will reset the field to the default for target
component.
+
.Assign to yourself:
 bite bugzilla update 123 --qa @me
+
.Reset to default:
 bite bugzilla update 123 --qa

*-r, --resolution* <value>::
    Update resolution.

*-U, --see-also* <value[,...]>::
    Add or remove URLs to bugs in external trackers.
+
Values must be valid URLs to bugs, issues, or tickets in external trackers or
IDs to existing bugs for the targeted service.
+
Prefixing values with `+` or `-` adds or removes from the list, respectively.
Unprefixed values will be added to the list.
+
Multiple arguments can be specified in a comma-separated list.
+
.Add bug 2 URL:
 bite bugzilla update 10 --see-also 2
+
.Add bug 3 and remove bug 2 URLs:
 bite bugzilla update 10 --see-also=+3,-2
+
.Add URL to external bug:
 bite bugzilla update 10 --see-also https://url/to/bug/5

*--severity* <value>::
    Update severity.

*-s, --status* <value>::
    Update status.

*-S, --summary* <value>::
    Update summary.

*-T, --target* <value>::
    Update target milestone.

*-u, --url* <value>::
    Update URL.

*-V, --version* <value>::
    Update version.

*-w, --whiteboard* <value>::
    Update whiteboard.

== Arguments

<ids>::
    IDs or aliases of bugs to update.
+
Taken from standard input when `-`.

== See Also

linkcmd:bite-bugzilla[1]
