forked from python-bugzilla/python-bugzilla
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbugzilla.1
More file actions
385 lines (356 loc) · 14.5 KB
/
bugzilla.1
File metadata and controls
385 lines (356 loc) · 14.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
.TH bugzilla 1 "September 22, 2015" "version 1.2.2" "User Commands"
.SH NAME
bugzilla \- command-line interface to Bugzilla over XML-RPC
.SH SYNOPSIS
.B bugzilla
[\fIoptions\fR] [\fIcommand\fR] [\fIcommand-options\fR]
.SH DESCRIPTION
.PP
.BR bugzilla
is a command-line utility that allows access to the XML-RPC interface provided
by Bugzilla.
.PP
\fIcommand\fP is one of:
.br
.I \fR * login - log into the given bugzilla instance
.br
.I \fR * new - create a new bug
.br
.I \fR * query - search for bugs matching given criteria
.br
.I \fR * modify - modify existing bugs
.br
.I \fR * attach - attach files to existing bugs, or get attachments
.br
.I \fR * info - get info about the given bugzilla instance
.SH GLOBAL OPTIONS
.IP "--version"
show program's version number and exit
.IP "--help, -h"
show this help message and exit
.IP "--bugzilla=BUGZILLA"
bugzilla XMLRPC URI. default: https://bugzilla.redhat.com/xmlrpc.cgi
.IP "--nosslverify"
Don't error on invalid bugzilla SSL certificate
.IP "--user=USER"
Optional bugzilla login username
.IP "--password=PASSWORD"
Optional bugzilla login password
.IP "--login"
Run interactive "login" before performing the specified command.
.IP "--ensure-logged-in"
Raise an error if we aren't logged in to bugzilla. Consider using this if you are depending on cached credentials, to ensure that when they expire the tool errors, rather than subtly change output.
.IP "--no-cache-credentials"
Don't save any bugzilla cookies or tokens to disk, and don't use any pre-existing credentials.
.IP "--cookiefile=COOKIEFILE"
cookie file to use for bugzilla authentication
.IP "--tokenfile=TOKENFILE"
token file to use for bugzilla authentication
.IP "--verbose"
give more info about what's going on
.IP "--debug"
output bunches of debugging info
.SH \[oq]NEW\[cq] OPTIONS
.IP "--product=PRODUCT, -p PRODUCT"
REQUIRED: product name
.IP "--version=VERSION, -v VERSION"
REQUIRED: product version
.IP "--component=COMPONENT, -c COMPONENT"
REQUIRED: component name
.IP "--sub-component=SUB_COMPONENT"
Optional sub component name
.IP "--short_desc=SUMMARY, --summary=SUMMARY, -s SUMMARY"
REQUIRED: bug summary
.IP "--comment=DESCRIPTION, -l DESCRIPTION"
initial bug comment
.IP "--os=OS, -o OS"
Operating system
.IP "--arch=ARCH, -a ARCH"
Arch this bug occurs on
.IP "--severity=SEVERITY"
Bug severity
.IP "--priority=PRIORITY"
Bug priority
.IP "--url=URL, -u URL"
URL for further bug info
.IP "--cc=CC[, CC, ...]"
add emails to initial CC list
.IP "--blocked=BUGID[, BUGID, ...]"
add bug_ids blocked by this bug
.IP "--dependson=BUGID[, BUGID, ...]"
add bug_ids that this bug depends on
.IP "--groups=GROUP[, GROUP, ...]"
add groups to which bug is visible
.IP "--assigned_to=ASSIGNED_TO"
Assign bugzilla to specified email address
.IP "--qa_contact=QA_CONTACT"
Set QA contact to specified email address
.IP "--keywords=KEYWORD[, KEYWORD, ...]"
Set specified keywords on new bugzilla
.IP "--alias=ALIAS"
An alias (name) for the bug (must be unique)
.IP "--field=FIELD=VALUE"
Set a specified field. FIELD is expected to be the raw name used by the bugzilla instance. No safety checks are perfomed when using this option.
.SH OUTPUT FORMAT \[oq]NEW\[cq] OPTIONS
.IP "--full, -f"
output detailed bug info
.IP "--ids, -i"
output only bug IDs
.IP "--extra, -e"
output additional bug information (keywords, Whiteboards, etc.)
.IP "--oneline"
one line summary of the bug (useful for scripts)
.IP "--raw"
raw output of the bugzilla contents
.IP "--outputformat=OUTPUTFORMAT"
Print output in the form given. You can use RPM-style tags that match bug fields, e.g.: '%{id}: %{summary}'. See the man page section 'OUTPUT FORMAT' for more details.
.SH \[oq]QUERY\[cq] OPTIONS
.IP "--bug_id=BUG_ID, -b BUG_ID"
specify individual bugs by IDs, separated with commas
.IP "--product=PRODUCT, -p PRODUCT"
product name, comma-separated (list with 'bugzilla info --products')
.IP "--version=VERSION, -v VERSION"
product version, comma-separated
.IP "--component=COMPONENT, -c COMPONENT"
component name(s), comma-separated (list with 'bugzilla info --components PRODUCT')
.IP "--sub-component=SUB_COMPONENT"
Sub component. Can be specified multiple times
.IP "--components_file=COMPONENTS_FILE"
list of component names from a file, one component per line (list with 'bugzilla info -c PRODUCT')
.IP "--long_desc=LONG_DESC, -l LONG_DESC"
search inside bug comments
.IP "--target_milestone=TARGET_MILESTONE, -m TARGET_MILESTONE"
search for a target milestone
.IP "--short_desc=SHORT_DESC, -s SHORT_DESC"
search bug summaries
.IP "--bug_status=BUG_STATUS, -t BUG_STATUS"
comma-separated list of bug statuses to accept [Default:all]
.IP "--bug_severity=BUG_SEVERITY, --severity=BUG_SEVERITY, -x BUG_SEVERITY"
search severities, comma-separated
.IP "--priority=PRIORITY, -z PRIORITY"
search priorities, comma-separated
.IP "--from-url=FROM_URL"
Use the query given by a query.cgi URL. (Use quotes!)
.IP "--quicksearch=QUICKSEARCH"
Search using bugzilla's quicksearch functionality.
.IP "--savedsearch=SAVEDSEARCH"
Name of a bugzilla saved search. If you don't own this saved search, you must passed --savedsearch_sharer_id.
.IP "--savedsearch-sharer-id=SAVEDSEARCH_SHARER_ID"
Owner ID of the --savedsearch. You can get this ID from the URL bugzilla generates when running the saved search from the web UI.
.IP "--field=FIELD=VALUE"
Query a specified field. FIELD is expected to be the raw name used by the bugzilla instance. No safety checks are perfomed when using this option.
.SH EMAIL \[oq]QUERY\[cq] OPTIONS
.IP "--emailtype=EMAILTYPE, -E EMAILTYPE"
Email: specify searching option for emails, ie. substring, notsubstring, exact, ... [Default: substring]
.IP "--cc=CC, -o CC"
Email: search cc lists for given address
.IP "--reporter=REPORTER, -r REPORTER"
Email: search reporter email for given address
.IP "--assigned_to=ASSIGNED_TO, -a ASSIGNED_TO"
Email: search for bugs assigned to this address
.IP "--qa_contact=QA_CONTACT, -q QA_CONTACT"
Email: search for bugs which have QA Contact assigned to this address
.SH STRING SEARCH \[oq]QUERY\[cq] OPTIONS
.IP "--url=URL, -u URL"
search keywords field for given url
.IP "--url_type=URL_TYPE, -U URL_TYPE"
specify searching option for urls, ie. anywords, allwords, nowords
.IP "--keywords=KEYWORDS, -k KEYWORDS"
search keywords field for specified words
.IP "--keywords_type=KEYWORDS_TYPE, -K KEYWORDS_TYPE"
specify searching option for keywords, ie. anywords, allwords, nowords
.IP "--status_whiteboard=STATUS_WHITEBOARD, -w STATUS_WHITEBOARD"
search Status Whiteboard field for specified words
.IP "--status_whiteboard_type=STATUS_WHITEBOARD_TYPE, -W STATUS_WHITEBOARD_TYPE"
specify searching option for Status Whiteboard, ie. anywords, allwords, nowords
.IP "--tags=TAGS"
Search bug 'tags' field
.SH BOOLEAN \[oq]QUERY\[cq] OPTIONS
.IP "--booleantype=BOOLEANTYPE, -B BOOLEANTYPE"
specify searching option for booleans, ie. substring, notsubstring, exact, ... [Default: substring]
.IP "--boolean_query=BOOLEAN_QUERY"
Create your own query. Format: BooleanName-Condition-Parameter &/| ... . ie, keywords-substring-Partner & keywords-notsubstring-OtherQA
.IP "--blocked=BLOCKED"
Search for bugs that block this bug ID
.IP "--dependson=DEPENDSON"
Search for bugs that depend on this bug ID
.IP "--flag=FLAG"
Search for bugs that have certain flag states present. Ex --flags=dev_ack+
.IP "--qa_whiteboard=QA_WHITEBOARD"
search for bugs that have certain QA Whiteboard text present
.IP "--devel_whiteboard=DEVEL_WHITEBOARD"
search for bugs that have certain Devel Whiteboard text present
.IP "--alias=ALIAS"
search for bugs that have the provided alias
.IP "--fixed_in=FIXED_IN"
search Status Whiteboard field for specified words
.SH OUTPUT FORMAT \[oq]QUERY\[cq] OPTIONS
.IP "--full, -f"
output detailed bug info
.IP "--ids, -i"
output only bug IDs
.IP "--extra, -e"
output additional bug information (keywords, Whiteboards, etc.)
.IP "--oneline"
one line summary of the bug (useful for scripts)
.IP "--raw"
raw output of the bugzilla contents
.IP "--outputformat=OUTPUTFORMAT"
Print output in the form given. You can use RPM-style tags that match bug fields, e.g.: '%{id}: %{summary}'. See the man page section 'OUTPUT FORMAT' for more details.
.SH \[oq]MODIFY\[cq] OPTIONS
.IP "--field=FIELD=VALUE"
Modify a specified field. FIELD is expected to be the raw name used by the bugzilla instance. No safety checks are perfomed when using this option.
.SH BUG DETAILS
.IP "--product=PRODUCT"
Reassign bug to different product
.IP "--component=COMPONENT, -c COMPONENT"
Reassign bug to different component
.IP "--sub-component=SUB_COMPONENT"
Reassign bug to different sub-component (rhbz extension)
.IP "--version=VERSION, -v VERSION"
Reassign bug to different version
.IP "--os=OS, -o OS"
Change operating system this bug occurs on
.IP "--arch=ARCH, -a ARCH"
Change arch this bug occurs on
.IP "--url=URL, -u URL"
URL for further bug info
.IP "--alias=ALIAS"
An alias (name) for the bug (must be unique)
.SH BUG STATUS \[oq]MODIFY\[cq] OPTIONS
.IP "--status=STATUS, -s STATUS"
Change status of bug
.IP "--close=RESOLUTION, -k RESOLUTION"
Close with the given resolution
.IP "--dupeid=ORIGINAL, -d ORIGINAL"
ID of original bug (implies -k DUPLICATE)
.IP "--fixed_in=VERSION, -F VERSION"
"Fixed in version" field
.SH COMMENT \[oq]MODIFY\[cq] OPTIONS
.IP "--comment=COMMENT, -l COMMENT"
Add a comment
.IP "--private, -p"
Mark new comment as private
.IP "--summary=SUMMARY"
Change bug summary
.SH CONTACT \[oq]MODIFY\[cq] OPTIONS
.IP "--assignee=ASSIGNEE"
Assign bugzilla to assignee
.IP "--cc=EMAIL"
Alter CC list. EMAIL appends, -EMAIL removes.
.IP "--qa_contact=QA_CONTACT"
Change QA contact
.IP "--reset-assignee"
Reset assignee to component default
.IP "--reset-qa-contact"
Reset QA contact to component default
.IP "--groups=GROUP[, GROUP, ...]"
add groups to which bug is visible
.SH TRACKING \[oq]MODIFY\[cq] OPTIONS
.IP "--flag=FLAG, -f FLAG"
Update bugzilla flags with requested type, ie fedora-cvs?, or needinfoX to clear (Use a new option for each flag)
.IP "--severity=SEVERITY"
Change bug severity
.IP "--priority=PRIORITY"
Change bug priority
.IP "--target_milestone=TARGET_MILESTONE"
Set target milestone
.IP "--target_release=TARGET_RELEASE"
Set target release
.IP "--blocked=BUGID[, BUGID, ...]"
Add bug_ids blocked by this bug. BUGID appends, -BUGID removes, =BUGID overwrites
.IP "--dependson=BUGID[, BUGID, ...]"
Alter depends_on list. BUGID appends, -BUGID removes, =BUGID overwrites
.IP "--keywords=KEYWORD"
Alter bug keywords list. KEYWORD appends, -KEYWORD removes, =KEYWORD overwrites
.IP "--whiteboard=TEXT"
Alter status whiteboard text. TEXT appends, -TEXT removes, =TEXT overwrites
.IP "--devel_whiteboard=TEXT"
Alter devel whiteboard text. TEXT appends, -TEXT removes, =TEXT overwrites
.IP "--internal_whiteboard=TEXT"
Alter internal whiteboard text. TEXT appends, -TEXT removes, =TEXT overwrites
.IP "--qa_whiteboard=TEXT"
Alter QA whiteboard. TEXT appends, -TEXT removes, =TEXT overwrites
.IP "--tags=TEXT"
Alter bug 'tags' fieldTEXT appends, -TEXT removes
.SH \[oq]ATTACH\[cq] OPTIONS
.IP "--file=FILENAME, -f FILENAME"
File to attach, or filename for data provided on stdin
.IP "--description=DESCRIPTION, -d DESCRIPTION"
A short description of the file being attached
.IP "--type=MIMETYPE, -t MIMETYPE"
Mime-type for the file being attached
.IP "--get=ATTACHID, -g ATTACHID"
Download the attachment with the given ID
.IP "--getall=BUGID, --get-all=BUGID"
Download all attachments on the given bug
.SH \[oq]INFO\[cq] OPTIONS
.IP "--products, -p"
Get a list of products
.IP "--components=PRODUCT, -c PRODUCT"
List the components in the given product
.IP "--component_owners=PRODUCT, -o PRODUCT"
List components (and their owners)
.IP "--versions=VERSION, -v VERSION"
List the versions for the given product
.SH OUTPUT FORMAT
The output of the bugzilla tool should NEVER BE PARSED unless you are using a
custom --outputformat. For everything else, just don't parse it, the formats
are not stable and are subject to change.
--outputformat allows printing arbitrary bug data in a user preferred format.
For example, to print a returned bug ID, component, and product, separated
with ::, do:
--outputformat "%{id}::%{component}::%{product}"
The fields (like 'id', 'component', etc.) are the names of the values returned
by bugzilla's XMLRPC interface. To see a list of all fields, check the API
documentation in the 'SEE ALSO' section. Alternatively, run a 'bugzilla
--debug query ...' and look at the key names returned in the query results.
Also, in most cases, using the name of the associated command line switch
should work, like --bug_status becomes %{bug_status}, etc.
.SH AUTHENTICATION COOKIES AND TOKENS
Older bugzilla instances use cookie-based authentication, and
bugzilla.redhat.com uses a non-cookie token system.
When you log into bugzilla with the "login" subcommand or the "--login"
argument, we cache the cookie in ~/.bugzillacookies. If you are using
bugzilla.redhat.com, we also cache the token in ~/.bugzillatoken.
To perform an authenticated bugzilla command on a new machine, run a one time
"bugzilla login" to cache credentials before running the desired command. You
can also run "bugzilla --login" and the login process will be initiated before
invoking the command.
Additionally, the --no-cache-credentials option will tell the bugzilla tool to
_not_ save any credentials to ~/.bugzillacookies or ~/.bugzillatoken.
.SH EXAMPLES
.PP
.RS 0
bugzilla query --bug_id 62037
bugzilla query --version 15 --component python-bugzilla
# All boolean options can be formatted like this
.br
bugzilla query --blocked "123456 | 224466"
bugzilla login
bugzilla new -p Fedora -v rawhide -c python-bugzilla \\
--summary "python-bugzilla causes headaches" \\
--comment "python-bugzilla made my brain hurt when I used it."
bugzilla attach --file ~/Pictures/cam1.jpg --desc "me, in pain" $BUGID
bugzilla attach --getall $BUGID
bugzilla modify --close NOTABUG --comment "Actually, you're hungover." $BUGID
.SH EXIT STATUS
.BR bugzilla
normally returns 0 if the requested command was successful.
Otherwise, exit status is 1 if
.BR bugzilla
is interrupted by the user (or a login attempt fails), 2 if a
socket error occurs (e.g. TCP connection timeout), and 3 if the server returns
an XML-RPC fault.
.SH BUGS
Please report any bugs as github issues at
.br
https://github.com/python-bugzilla/python-bugzilla
.br
to the mailing list at
.br
https://fedorahosted.org/mailman/listinfo/python-bugzilla
.SH SEE ALSO
.nf
http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService/Bug.html
https://bugzilla.redhat.com/docs/en/html/api/Bugzilla/WebService/Bug.html