When started, bugz reads configuration files from all of the locations listed above, in the order listed. In the directories, it reads the files in lexical order.
Files located in /usr/share/pybugz.d/*.conf are provided by pybugz and should not be modified.
Files located in /etc/pybugz.d/*.conf, if it exists, are provided by the system administrator.
The final file that is read, if it exists, is ~/.bugzrc by default. This is the user-specific configuration file. This file name can be overridden on the command line by using the --config-file option.
Configuration File Format
A configuration file consists of sections which define parameters for the Bugzillas you intend to use. Each section starts with a case-sensitive section name in square brackets and is followed by the settings, in the form "key = value" or "key : value", which define the parameters for this bugzilla instance.
The section name is also the name that should be used with the --connection option of the bugz command or the "connection" setting in the default section of the configuration file.
The section named [default] is special. Any settings defined in this section will have the value they are given here in all other sections unless they are overridden. So, for example, if you want to use the same username for most of your bugzillas, define user in the default section.
Comments are also allowed. A comment must begin with "#" or ";" and be on a line of its own.
This is a list of the current settings supported by pybugz.
connection = sectionname
This is used in the default section to define the bugzilla you connect with most of the time. It is not an error to put it in another section, but it does not make much sense to do so.
base = http://my.project.com/bugzilla/xmlrpc.cgi
base = http://myhttpname:email@example.com/bugzilla/xmlrpc.cgi
This is the base URL of the bugzilla. It must point to the xmlrpc.cgi script on the bugzilla installation. The second form is used if you need to encode a username and password into the URL for basic http authentication.
user = firstname.lastname@example.org
password = secret2
These set your username and password for this bugzilla. If you do not provide one or both of these and you do not use the key setting below, you will be prompted for the setting you do not provide.
passwordcmd = gpg --decrypt ~/.my-encrypted-password.gpg
As another alternative for storing your password, you can provide a password command. This command will be run, and pybugz expects it to output the password to stdout. The example above uses gpg to decrypt an encrypted password stored in a file. The default setting is undefined, so it will not be used unless you define it.
key = string
This is your API key, which is an alternative way to authenticate for Bugzilla 5.0 and newer. To use this, you must generate an API key in the preferences section of Bugzilla and set it to that value. This overrides the username and password settings. The default is undefined.
columns = 80
This is the number of columns your terminal can display. Most of the time, pybugz should be able to determine this value. If it cannot, the default value is 80, so more than likely you will never have to change this setting.
debug = 0
This sets the level of debug logging. This is mostly used for development purposes. It causes PyBugz to print out debugging information as it runs.
quiet = False
If set to true, this requests that pybugz run in quiet mode. This means only output returned from the Bugzilla will be displayed; several more verbose log messages will not be displayed.
product = string
This is the default setting for the product field in bugs in this Bugzilla instance. It is possible to define this in the default section. However, it does not make sense to do so most of the time. If this is set, you will not be prompted for a product when you run bugz post, and this value will also be the default for bugz search.
component = string
This is the default setting for the component field in bugs in this Bugzilla instance. It is possible to define this in the default section. However, it does not make sense to do so most of the time. If this is set, you will not be prompted for a component when you run bugz post, and this will also be the default value for bugz search.
search_statuses = confirmed, in_progress, unconfirmed
This sets the default statuses to be used in a search command. It is a space separated list of Bugzilla statuses.
insecure = true | false
If this is set to true, pybugz will not validate the ssl certificate used during an https connection to this site. Do not use this setting unless you know exactly what you are doing.
interactive = true | false
If this is set to true, pybugz will prompt for a username and password for the bugzilla you are attempting to connect to if no credentials are specified in the configuration file. The default setting is false.
The home page of this project is http://www.github.com/williamh/pybugz. Bugs should be reported to the bug tracker there.
William Hubbs <email@example.com>