Bugzilla:FAQ: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Administrative Questions: Update this section to be current and correct, and move the "move installation" stuff into its own page)
(→‎Do users have to have any particular type of email application?: Email is no longer necessarily plaintext. credit to Zangune on irc)
 
(27 intermediate revisions by 9 users not shown)
Line 1: Line 1:
This is a list of the most-frequently-asked questions about Bugzilla.
If you edit this page, please only add questions that are '''frequently asked'''. Questions that are less-commonly-asked should just get their own Wiki page.
=General Questions=
=General Questions=


Line 29: Line 33:
We think that compared to other bug-tracking systems, Bugzilla offers superior performance on commodity hardware, better price (free!), more developer-friendly features (such as stored queries, email integration, and platform independence), improved scalability, greater flexibility, and superior ease-of-use under long-term usage.
We think that compared to other bug-tracking systems, Bugzilla offers superior performance on commodity hardware, better price (free!), more developer-friendly features (such as stored queries, email integration, and platform independence), improved scalability, greater flexibility, and superior ease-of-use under long-term usage.


==Which versions support MySQL, PostgreSQL and Oracle? What about Sybase/Msql/MSSQL?==
==Which versions support MySQL, PostgreSQL, Oracle and SQLite? What about Sybase/Msql/MSSQL?==


* '''MySQL''': All Bugzilla versions support MySQL.
Bugzilla 3.2 and above support MySQL, PostgreSQL and Oracle. Since Bugzilla 4.2, SQLite is also supported, but its support remains experimental. Support for MS-SQL is currently under way for a future version of Bugzilla.
* '''PostgreSQL''': Bugzilla 2.22 and above contain complete, stable support for PostgreSQL.
* '''Oracle''': Bugzilla 3.2 and above have experimental support for Oracle.
* '''MS-SQL''': MS-SQL support is currently underway for Bugzilla 3.8.


Sybase support is no longer being worked on, and most likely will never happen, as Sybase lacks many features Bugzilla needs.
Sybase support is no longer being worked on, and most likely will never happen, as Sybase lacks many features Bugzilla needs.
Line 49: Line 50:
to something else:
to something else:


   perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl contrib/*pl
   perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl contrib/*pl extensions/*pl


If your perl path is something else again,
If your perl path is something else again,
Line 96: Line 97:
==Do users have to have any particular type of email application?==
==Do users have to have any particular type of email application?==


No. Bugzilla email is sent in plain text, the most compatible mail format on the planet.
No. Bugzilla can send email in plain text, the most compatible mail format on the planet. HTML email is available for people who want it formatted in a more readable fashion. The site admin can choose which format is default, but each user can change it from the default also.


==Does Bugzilla allow data to be imported and exported? (Say, from/to Word or Excel.) ==
==Does Bugzilla allow data to be imported and exported? (Say, from/to Word or Excel.) ==
Line 113: Line 114:
You should use the commands included with your database software to run the backups of your Bugzilla data.
You should use the commands included with your database software to run the backups of your Bugzilla data.
You can find strategies for dealing with backup considerations at
You can find strategies for dealing with backup considerations at
http://www.mysql.com/doc/B/a/Backup.html for MySQL and at
https://dev.mysql.com/doc/mysql-enterprise-backup/en/mysqlbackup.tasks.html for MySQL and at
http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.
http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.


Line 139: Line 140:


=Administrative Questions=
=Administrative Questions=
==Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified?==
==Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified?==
Bugzilla does not lock records.
Bugzilla does not lock records. It provides "mid-air collision" detection, which means that it warns a user when a commit is about to conflict with commits recently made by another user, and offers the second user a choice of options to deal with the conflict.
It provides mid-air collision detection --
which means that it warns a user when a commit is about to conflict
with commits recently made by another user,
and offers the second user a choice of options to deal with the conflict.


==Can users be on the system while a backup is in progress?==
==Can users be on the system while a backup is in progress?==
Yes. You should use the commands included with your database software to run the backups of your Bugzilla data. You can find strategies for dealing with backup considerations at http://www.mysql.com/doc/B/a/Backup.html for MySQL and at http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.
Yes. You should use the commands included with your database software to run the backups of your Bugzilla data. You can find strategies for dealing with backup considerations at http://www.mysql.com/doc/B/a/Backup.html for MySQL and at http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.
==Can I restrict a user's ability to edit certain bug fields?==
Users can only edit bugs if they are the Assignee, the QA Contact, or are in the '''editbugs''' group. (Certain fields can also be edited by the Reporter. Also, all users can ''always'' comment and CC themselves on bugs.) However, note that by default, '''all users are in the editbugs group'''. If you want to change this default, go to Administration -> Groups, choose "editbugs" and clear the "userregexp" field. Then you can use Administration -> Users to explicitly add back certain users into the "editbugs" group, if you want them to be able to edit every field on every bug in the system. (Also, you can use Administration -> Products -> (select product) -> Group Controls to give groups of users "editbugs" for specific products.)
If you want any finer-grained control than that, it requires code changes. You have to edit the <code>check_can_change_field</code> subroutine in the file <tt>Bugzilla/Bug.pm</tt>. The file has many comments to help guide your edits.


==How do I make it so that bugs can have an UNCONFIRMED status?==
==How do I make it so that bugs can have an UNCONFIRMED status?==
Line 162: Line 165:
See [[Bugzilla:Move Installation]].
See [[Bugzilla:Move Installation]].


=Bugzilla Security=
== I restricted a product to be visible to more than one group, and now only users who are members of all of those groups can see it.  How do I make it visible to someone who's a member of any of those groups (but not all of them)? ==
== How do I completely disable MySQL security if it's giving me problems? (I've followed the instructions in the installation section of this guide...)==
Run MySQL like this: '''mysqld --skip-grant-tables'''.
Please remember that this makes MySQL as secure as
taping a $100 to the floor of a football stadium bathroom for safekeeping.


* '''This can't be stressed enough.''' Doing this is a bad idea. Please consult [http://www.bugzilla.org/docs/tip/html/security-mysql.html Section 4.2] of this guide and the MySQL documentation for better solutions.  
Bugzilla treats all of the group restrictions on a product as an AND comparison. That is, if you put group controls for more than one group on the same product, then users must be a member of ALL of those groups to be able to perform the restricted action.


==Are there any security problems with Bugzilla?==
If you want OR groups (a member of any of the groups can do it), all is not lost. The way to do this is to create two different sets of groups.
The Bugzilla code has undergone a reasonably complete security audit,
and user-facing CGIs run under Perl's taint mode.
However, it is recommended that you closely examine permissions
on your Bugzilla installation,
and follow the recommended security guidelines found in The Bugzilla Guide.  


The first set of groups defines groups of people.  These groups are not used for group controls on products.  In fact, you can leave the "use for bugs" setting turned off on them.  These are the groups you will make users be members of.  Groupings such as "engineering" or "QA" or "security-team" or "marketing" or similar.
The second set of groups has no users in its membership.  You use these groups to define things you want to use group restrictions on, and these will be the groups that you set up in the Group Controls in the product editor.  For example, if you have a product (or a set of 3 or 4 products) that you wish to secure to the same set of people, create a group for it.  These groups will need to have "use for bugs" checkmarked.  Then in the "Groups That Are a Member of This Group" section, add the people groups you created above that you want to be able to access things secured with this group.


=Email=
=Email=
==I have a user who doesn't want to receive any more email from Bugzilla. How do I stop it entirely for this user?==
The user can stop Bugzilla from sending any mail by unchecking all boxes on the 'Preferences' -> 'Email Preferences' page.
(As of 2.18, this is made easier by the addition of a 'Disable All Mail' button.)
Alternately, an administrator can disable all bugmails for this user from the administrative pages. This will override their personal preferences, and they will never be sent mail again.
==I'm evaluating/testing Bugzilla, and don't want it to send email to anyone but me. How do I do it?==
To disable email,
set the mail_delivery_method parameter to none (2.20 and later), or
$enableSendMail
parameter to '0' in either BugMail.pm (2.18 and later)
or processmail (up to 2.16.x).
Up to 2.16.x, changing
$enableSendMail
will only affect bugmail; email related to password changes,
email address changes, bug imports, flag changes, etc. will still be sent out.
As of the final release of 2.18, however,
the above step will disable all mail sent from Bugzilla for any purpose.
To have bugmail (and only bugmail) redirected to you
instead of its intended recipients, leave
$enableSendMail
alone; instead, edit "template/en/default/email/newchangedmail.txt.tmpl" as follows:
*Replace "To:" with "X-Real-To:"
*Add a "To: <your_email_address>"
== I want whineatnews.pl to whine at something other than new and reopened bugs. How do I do it?==
For older versions of Bugzilla,
you may be able to apply Klaas Freitag's patch for "whineatassigned",
which can be found in
[https://bugzilla.mozilla.org/show_bug.cgi?id=6679 bug 6679].
Note that this patch was made in 2000,
so it may take some work to apply cleanly to any releases of Bugzilla
newer than that, but you can use it as a starting point.
An updated (and much-expanded) version of this functionality
is due to be released as part of Bugzilla 2.20;
see [https://bugzilla.mozilla.org/show_bug.cgi?id=185090 bug 185090]
for the discussion, and for more up-to-date patches if you just can't wait.
==How do I set up the email interface to submit/change bugs via email?==
On older versions, you can find an updated README.mailif file in the contrib/ directory of your Bugzilla distribution that walks you through the setup.
On Version 3.0.x, read [http://www.bugzilla.org/docs/3.0/html/api/email_in.html this API documentation] about using email_in.pl. the script receives a message file as a command line parameter, and processes it.
==Email takes FOREVER to reach me from Bugzilla -- it's extremely slow. What gives?==
If you are using sendmail, try enabling sendmailnow in editparams.cgi.
For earlier versions of sendmail,
one could achieve significant performance improvement in the UI
(at the cost of delaying the sending of mail) by setting this parameter to off.
Sites with sendmail version 8.12 (or higher) should leave this on,
as they will not see any performance benefit.
If you are using an alternate
[http://www.bugzilla.org/docs/tip/html/glossary.html#gloss-mta MTA],
make sure the options given in Bugzilla/BugMail.pm and any other place
where sendmail is called are correct for your MTA.
==How come email from Bugzilla changes never reaches me?==
Double-check that you have not turned off email in your user preferences.
Confirm that Bugzilla is able to send email by visiting the "Log In" link
of your Bugzilla installation and clicking the "Submit Request" button
after entering your email address.
If you never receive mail from Bugzilla,
chances are you do not have sendmail in "/usr/lib/sendmail".
Ensure sendmail lives in, or is symlinked to, "/usr/lib/sendmail".
If you are using an MTA other than sendmail
the sendmailnow param must be set to on or no mail will be sent.
=Database=
==I think my database might be corrupted, or contain invalid entries. What do I do?==
Run the "sanity check" utility (sanitycheck.cgi) from your web browser to see!
If it finishes without errors, you're probably OK.
If it doesn't come back OK (i.e. any red letters),
there are certain things Bugzilla can recover from and certain things it can't.
If it can't auto-recover, I hope you're familiar with mysqladmin commands
or have installed another way to manage your database.
Sanity Check, although it is a good basic check on your database integrity,
by no means is a substitute for competent database administration
and avoiding deletion of data.
It is not exhaustive, and was created to do a basic check
for the most common problems in Bugzilla databases.
==I want to manually edit some entries in my database. How?==
There is no facility in Bugzilla itself to do this.
It's also generally not a smart thing to do if you don't know exactly what you're doing.
If you understand SQL, though,
you can use the '''mysql''' command line utility to manually insert,
delete and modify table information.
There are also more intuitive GUI clients available.
Personal favorites of the Bugzilla team are
[http://www.phpmyadmin.net/ phpMyAdmin] and
[http://www.mysql.com/products/mysqlcc/ MySQL Control Center].
Remember, backups are your friend.
Everyone makes mistakes, and it's nice to have a safety net in case you mess something up.
Consider using '''mysqldump''' to make a duplicate of your database
before altering it manually.
==I think I've set up MySQL permissions correctly, but Bugzilla still can't connect.==
Try running MySQL from its binary: mysqld --skip-grant-tables.
This will allow you to completely rule out grant tables as the cause of your frustration.
If this Bugzilla is able to connect at this point then you need to check
that you have granted proper permission to the user password combo defined in localconfig.
*Running MySQL with this command line option is very insecure and should only be done when not connected to the external network as a troubleshooting step.
You may also be suffering from a client version mismatch:
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attempts to connect to it with an older client may fail with the following message:
shell> mysql
Client does not support authentication protocol requested by server; consider upgrading MySQL client
To solve this problem, you should use one of the following approaches:


    * Upgrade all client programs to use a 4.1.1 or newer client library.
==How do I stop email entirely for one user?==
    * When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.
    * Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function:


      mysql> SET PASSWORD FOR
The user can stop Bugzilla from sending any mail by clicking "Disable All Mail" on the Preferences > Email Preferences page, and then submitting the form.
          -> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');


==How do I synchronize bug information among multiple different Bugzilla databases?==
Alternately, an administrator can disable all bugmails for a user from the Administration > Users page. This will override that user's personal preferences, and they will never be sent mail again.
Well, you can synchronize or you can move bugs.
Synchronization will only work one way --
you can create a read-only copy of the database at one site,
and have it regularly updated at intervals from the main database.


MySQL has some synchronization features built-in to the latest releases.
==I'm evaluating/testing Bugzilla, and don't want it to send email to anyone. How do I do it?==
It would be great if someone looked into the possibilities there
and provided a report to the newsgroup on how to effectively synchronize two Bugzilla installations.


If you simply need to transfer bugs from one Bugzilla to another,
Go to Administration > Parameters. In the "Email" section of the parameters, set <code>mail_delivery_method</code> to "Test". Then all emails will go to a file on the disk (<code>data/mailer.testfile</code> in the Bugzilla directory) instead of being sent out.
checkout the "move.pl" script in the Bugzilla distribution.  


=Windows=
=Windows=


==What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?==
==Can Bugzilla run on Windows? How?==
Remove Windows. Install Linux. Install Bugzilla.
The boss will never know the difference. B^)


Seriously though, making Bugzilla work easily with Windows was one of the major goals of the 2.18 milestone.
Yes, Bugzilla can run on Windows. See the [[Bugzilla:Win32Install]] page for information about how to install and configure Bugzilla on 32-bit Windows. See the [[Bugzilla:WindowsServer2008Install]] page for information about how to install on configure Bugzilla on Windows Server 2008 64-bit.
If the necessary components are in place (perl, a webserver, an MTA, etc.)
then installation of Bugzilla on a Windows box should be no more difficult
than on any other platform.
As with any installation, we recommend that you carefully
and completely follow the installation instructions in
[http://www.bugzilla.org/docs/tip/html/os-specific.html#os-win32 Section 2.4.1].
 
While doing so, don't forget to check out the very excellent guide
to [[Bugzilla:Win32Install|Installing Bugzilla on Microsoft Windows]]
written by Byron Jones. Thanks, Byron!
 
==Is there a "Bundle::Bugzilla" equivalent for Win32?==
Not currently.
Bundle::Bugzilla enormously simplifies Bugzilla installation on UNIX systems.
If someone can volunteer to create a suitable PPM bundle for Win32,
it would be appreciated.
 
== CGI's are failing with a "something.cgi is not a valid Windows NT application" error. Why?==
Depending on what Web server you are using,
you will have to configure the Web server to treat *.cgi files as CGI scripts.
In IIS, you do this by adding *.cgi to the App Mappings
with the <path>\perl.exe %s %s as the executable.
 
Microsoft has some advice on this matter, as well:
*"Set application mappings. In the ISM, map the extension for the script file(s) to the executable for the script interpreter. For example, you might map the extension .py to Python.exe, the executable for the Python script interpreter. Note For the ActiveState Perl script interpreter, the extension '.pl' is associated with PerlIS.dll by default. If you want to change the association of .pl to perl.exe, you need to change the application mapping. In the mapping, you must add two percent (%) characters to the end of the pathname for perl.exe, as shown in this example: '''c:\perl\bin\perl.exe %s %s'''"
 
== I'm having trouble with the perl modules for NT not being able to talk to the database.==
Your modules may be outdated or inaccurate. Try:
#Hitting http://www.activestate.com/ActivePerl
#Download ActivePerl
#Go to your prompt
#Type 'ppm'
#PPM> '''install DBI DBD-mysql GD'''
I reckon TimeDate and Data::Dumper come with the activeperl.
You can check the ActiveState site for packages for installation through PPM.
http://www.activestate.com/Packages/.
 
==How do I set up Bugzilla to use the Windows SMTP service?==
In order to send bugmail, Bugzilla needs access to an SMTP server. You could probably use your ISP SMTP server (and maybe ask him to set up a seperate account for Bugzilla), but it is also possible to use the SMTP service included in Windows XP Pro, as well as the various Server 2003 versions.
 
First, install the service. in Windows XP, this is done from Control Panel > Add or Remove Programs > Add/Remove Windows Components, select Internet Information Services, press the Details button, and check SMTP Service. For Windows Server 2003, there's a nice tutorial [http://www.ilopia.com/Articles/WindowsServer2003/EmailServer.aspx here], though I suspect you don't need the POP3 service configured if you only need Bugzilla to ''send'' mail, and not ''receive'' mail.
 
Bugzilla doesn't support mail authentication yet. This means you will have to allow anonymous relay on the service.
 
:'''Note:''' if your server is exposed to the internet, this could be a security problem. It will allow spammers to use your SMTP service to relay messages to other people without your knowledge, so this set up should be done only if the server is not accessible from the public internet.
 
In order to allow anonymous outbound messages, open the Computer Management console from Control Panel > Administrative Tools, open the Services and Applications branch on the left, Open the Internet Information Services branch, right-click on Default SMTP Virtual Server and select Properties. In the Access tab, press the Relay button, and select '''All except the list below''', and leave the list empty. Uncheck '''Allow all computers which successfully authenticate to relay...''', and press OK.
 
In order to limit the computers that can connect to the SMTP server to the one running Bugzilla, and so prevent the possibility of turning your machine into a spam bot, you should add the IP address of the Bugzilla server to the list (or the IP range of your LAN, if you want to allow others on your network to send mail from this server), via the '''Add...''' button.
 
If the server is not a member of a domain, outgoing messages will have the name of the server on the local network as the domain part of outgoing messages' "From" field. This will prevent the message from being delivered to most e-mail services. To correct this, open the Delivery tab and click the Advanced button. In the '''Masquerade domain''' field, enter the domain of your ISP, or whatever domain you use to receive email and click OK. While on the Delivery tab, you might want to shorten the time to the first delivery attempt, from 15 minutes to 1 (this parameter needs further investigation).
 
After masquerading your domain, you will also need to change the '''mailfrom''' field in Bugzilla's main configuration page (/editparams.cgi), in the Email section, to the full name, including the domain. E.g. bugzilla-deamon@example.com.


=For Users=


=For Users=
==How do I change my user name (email address) in Bugzilla?==
==How do I change my user name (email address) in Bugzilla?==
New in 2.16 - go to the Account section of the Preferences.
You will be emailed at both addresses for confirmation.


==The query page is very confusing. Isn't there a simpler way to query?==
Go to the Name and Password section of the Preferences screen. You will be emailed at both addresses for confirmation.
The interface was simplified by a UI designer for 2.16.
Further suggestions for improvement are welcome,
but we won't sacrifice power for simplicity.


As of 2.18, there is also a 'simpler' search available.
If you don't see the option to change your email address on this page, then your Bugzilla administrator hasn't enabled the <code>allowemailchange</code> parameter.
At the top of the search page are two links;
"Advanced Search" will take you to the familiar full-power/full-complexity search page.
The "Find a Specific Bug" link will take you to a much-simplified page
where you can pick a product and status (open,closed, or both),
then enter words that appear in the bug you want to find.
This search will scour the 'Summary' and 'Comment' fields,
and return a list of bugs sorted so that the bugs
with the most hits/matches are nearer to the top.


*Matches in the Summary will 'trump' matches in comments, and bugs with summary-matches will be placed higher in the buglist -- even if a lower-ranked bug has more matches in the comments section.
==The search page is very confusing. Is there a simpler way to search?==


Bugzilla uses a cookie to remember which version of the page you visited last,
The "Find a Specific Bug" page (one of the tabs when you go to the Search page) is simpler than the Advanced Search form.
and brings that page up when you next do a search.
The default page for new users (or after an upgrade) is the 'simple' search.  


==I'm confused by the behavior of the "Accept" button in the Show Bug form. Why doesn't it assign the bug to me when I accept it?==
Also, there is a type of search called "Quicksearch" available in the header and footer of every page. See the "Quicksearch Help" link on the front page of Bugzilla for information on using Quicksearch.
Till Bugzilla 3.0.x, all this button does is to change the bug status to ASSIGNED, but doesn't reassign the bug to the user doing the change. Since Bugzilla 3.2, both actions are unrelated and you can independently change the status to ASSIGNED and reassign the bug to you.


==I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?==
==Why can't I close bugs from the "Change Several Bugs at Once" page?==
The most likely cause is a very old browser or a browser
that is incompatible with file upload via POST.
Download the latest version of your favourite browser to handle uploads correctly.


==How do I change a keyword in Bugzilla, once some bugs are using it?==
You can, but ''all'' the bugs in your search results have to be in a status that can validly change to CLOSED. In Bugzilla 3.2 and later, this means that you have to have set a valid transition to CLOSED from the bugs' statuses, using Administration > Status Workflow. For versions of Bugzilla before 3.2, only VERIFIED bugs can transition to CLOSED.  
In the Bugzilla administrator UI, edit the keyword
and it will let you replace the old keyword name with a new one.
This will cause a problem with the keyword cache;
run '''sanitycheck.cgi''' to fix it.  


== Why can't I close bugs from the "Change Several Bugs at Once" page?==
==How do I search for public bugs (bugs that aren't restricted to a group)?==
Simple answer; you can.


The logic behind the page checks every bug in the list
You can search for bugs without a group by using Boolean Charts at the bottom of the Advanced Search page: "Not (negate this whole chart)" + "Group" + "matches regular expression" + "."
to determine legal state changes, and then only shows you controls to do things
that could apply to every bug on the list.
The reason for this is that if you try to do something illegal to a bug,
the whole process will grind to a halt,
and all changes after the failed one will also fail.
Since that isn't a good outcome,
the page doesn't even present you with the option.


In practical terms, that means that in order to mark multiple bugs as CLOSED,
=Troubleshooting=
then every bug on the page has to be either RESOLVED or VERIFIED already;
if this is not the case, then the option to close the bugs will not appear on the page.


The rationale is that if you pick one of the bugs that's not VERIFIED
==Bugzilla can't connect to the database==
and try to CLOSE it, the bug change will fail miserably
(thus killing any changes in the list after it while doing the bulk change)
so it doesn't even give you the choice.


== How do I search for public bugs? ==
Here's some things to check:


Search for bugs without a group by using the negate checkbox in a advanced boolean search: "Not" + "Group" + "matches regular expression" + "."
# Make sure that the <tt>$db_user</tt> and <tt>$db_pass</tt> settings in the <tt>localconfig</tt> file are correct.
# If you're using MySQL, make sure that DBD::mysql was compiled against the version of MySQL that you're using. For example, a DBD::mysql compiled against MySQL 4.0 won't work with MySQL 5.1. In versions of Bugzilla 3.2 or greater, you can re-install DBD::mysql by doing: <pre>./install-module.pl DBD::mysql</pre> in your Bugzilla directory.


=Hacking on Bugzilla=
==I tried to move my Bugzilla from one machine to another, and now there's something wrong with the data.==


==What kind of style should I use for templatization?==
Make sure that you followed the instructions on [[Bugzilla:Move Installation]]. In particular, when you import a database dump, your database has to be '''totally empty''', meaning that it must have no tables in it at all.
Gerv and Myk suggest a 2-space indent,
with embedded code sections on their own line,
in line with outer tags. Like this:
<pre>


<fred>
==I get the error "MySQL server has gone away"==
[% IF foo %]
  <bar>
  [% FOREACH x = barney %]
    <tr>
      <td>
        [% x %]
      </td>
    <tr>
  [% END %]
[% END %]
</fred>
</pre>


Myk also recommends you turn on PRE_CHOMP in the template initialization
This usually means that the <tt>max_allowed_packet</tt> setting in your MySQL configuration is too small. It needs to be set larger than the largest piece of data you're trying to insert in to the database. (Usually, this means it has to be larger than your <tt>maxattachmentsize</tt> parameter.) The MySQL configuration is usually in <tt>/etc/my.cnf</tt>.
to prevent bloating of HTML with unnecessary whitespace.


Please note that many have differing opinions on this subject,
==I have Apache's mod_security installed, and Bugzilla is not functioning.==
and the existing templates in Bugzilla espouse both this and a 4-space style.
Either is acceptable; the above is preferred.


Bugzilla is not compatible with mod_security. You will have to uninstall mod_security or disable it for Bugzilla.


==My parameters don't update when using editparams.cgi, what am I doing wrong?==


== How can I change the default priority to a null value? For instance, have the default priority be "---"  instead of "P2"?==
Bugzilla's parameters are stored in the <tt>data/params</tt> file.
This is well-documented in
In order to update parameters, the '''user that your web server runs Bugzilla's scripts as''' needs permission to:
[https://bugzilla.mozilla.org/show_bug.cgi?id=49862 bug 49862].
Ultimately, it's as easy as adding the "---" priority field
to your localconfig file in the appropriate area, re-running checksetup.pl,
and then changing the default priority in your browser using '''editparams.cgi'''.


==What's the best way to submit patches? What guidelines should I follow?==
#Enter a bug into bugzilla.mozilla.org for the "[https://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla Bugzilla]" product.
#Upload your patch as a unified diff (having used "diff -u" against the current sources checked out of CVS), or new source file by clicking "Create a new attachment" link on the bug page you've just created, and include any descriptions of database changes you may make, into the bug ID you submitted in step #1. Be sure and click the "Patch" checkbox to indicate the text you are sending is a patch!
#Announce your patch and the associated URL (https://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in the newsgroup (mozilla.support.bugzilla on the news.mozilla.org news-server). You'll get a really good, fairly immediate reaction to the implications of your patch, which will also give us an idea how well-received the change would be.
#If it passes muster with minimal modification, the person to whom the bug is assigned in Bugzilla is responsible for seeing the patch is checked into CVS.
#Bask in the glory of the fact that you helped write the most successful open-source bug-tracking software on the planet :)
=Troubleshooting=
==My parameters don't update when using editparams.cgi, what am I doing wrong?==
Bugzilla's parameters are being stored in the <tt>data/params</tt> file.
So in order to update parameters, the user that your web server runs Bugzilla's scripts as needs permission to
* create, alter and delete files in Bugzilla's <tt>data/</tt> directory
* create, alter and delete files in Bugzilla's <tt>data/</tt> directory
* alter and delete the <tt>params</tt> file in Bugzilla's <tt>data/</tt> directory
* alter and delete the <tt>params</tt> file in Bugzilla's <tt>data/</tt> directory


Known quirks and things to think about:
==Old Charts complain about "Unable to open the chart datafile ./data/mining/-All-"==
* On Linux, check your SELinux settings, which may override common file permission settings.
* It may be that your web server runs Bugzilla's script as a different user than you might think:
** Using Apache, it may be that you have some SuexecUserGroup setting in effect. Check Apache's documentation on mod_suexec.
** Using IIS, there appears to be some similar mechanics, too.
 
==Old charts complain with "Unable to open the chart datafile ./data/mining/-All-"==
Old charts are generated thanks to data being in data/mining/ (new charts store the data in the database directly). For both old and new charts to work, data must first be collected by the collectstats.pl script, which has to be run as root (or as the owner of data/mining/ in case you have a non-root installation). Data is only collected when collectstats.pl is run, so if you want to see stats on a daily basis, you have to run this script every day, e.g. by adding it to your cron jobs.


See http://www.bugzilla.org/docs/tip/html/extraconfig.html for details.
See http://www.bugzilla.org/docs/tip/html/extraconfig.html for information on how to set up the <tt>collectstats.pl</tt> script to enable the Old Charts and New Charts.


==My problem isn't listed here==
==My problem isn't listed here==
There are several additional common problems listed in the [http://www.bugzilla.org/docs/tip/en/html/troubleshooting.html Troubleshooting section] of the Bugzilla Guide.


If all else fails, check out places you can get [http://www.bugzilla.org/support/ support for Bugzilla].
If all else fails, check out places you can get [http://www.bugzilla.org/support/ support for Bugzilla].


[[category:Bugzilla|F]]
[[category:Bugzilla|F]]

Latest revision as of 23:23, 12 July 2015

This is a list of the most-frequently-asked questions about Bugzilla.

If you edit this page, please only add questions that are frequently asked. Questions that are less-commonly-asked should just get their own Wiki page.

General Questions

Can I try out Bugzilla somewhere?

If you want to take a test ride, there are test installations at http://landfill.bugzilla.org/, ready to play with directly from your browser.

What license is Bugzilla distributed under?

Bugzilla is covered by the Mozilla Public License. See details at http://www.mozilla.org/MPL/.

How do I get commercial support for Bugzilla?

http://www.bugzilla.org/support/consulting.html is a list of companies and individuals who have asked us to list them as consultants for Bugzilla.

What major companies or projects are currently using Bugzilla for bug-tracking?

There are dozens of major companies with public Bugzilla sites to track bugs in their products. We have a fairly complete list available on our website at http://bugzilla.org/installation-list/. If you have an installation of Bugzilla and would like to be added to the list, whether it's a public install or not, simply e-mail Gerv <gerv@mozilla.org>.

Who maintains Bugzilla?

A core team, led by Dave Miller (justdave@bugzilla.org).

How does Bugzilla stack up against other bug-tracking databases?

Wikipedia maintains a "comparison of issue tracking systems".

We think that compared to other bug-tracking systems, Bugzilla offers superior performance on commodity hardware, better price (free!), more developer-friendly features (such as stored queries, email integration, and platform independence), improved scalability, greater flexibility, and superior ease-of-use under long-term usage.

Which versions support MySQL, PostgreSQL, Oracle and SQLite? What about Sybase/Msql/MSSQL?

Bugzilla 3.2 and above support MySQL, PostgreSQL and Oracle. Since Bugzilla 4.2, SQLite is also supported, but its support remains experimental. Support for MS-SQL is currently under way for a future version of Bugzilla.

Sybase support is no longer being worked on, and most likely will never happen, as Sybase lacks many features Bugzilla needs.

My perl is located at /usr/local/bin/perl and not /usr/bin/perl. Is there an easy to change that in all the files that have this hard-coded?

The easiest way to get around this is to create a link from one to the other:

 ln -s /usr/local/bin/perl /usr/bin/perl

If that's not an option for you, the following bit of perl magic will change all the shebang lines (that is to say, the line at the top of each file that starts with '#!' and contains the path) to something else:

 perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl contrib/*pl extensions/*pl

If your perl path is something else again, just follow the above examples and replace /usr/local/bin/perl with your own perl path.

Is there an easy way to change the Bugzilla cookie name?

No.

Can bugzilla run under mod_perl?

Yes. You need to run Bugzilla 3.0 or newer. Later versions of Bugzilla generally have even better performance under mod_perl.

Does Bugzilla work under SELinux?

On most modern versions of Fedora and RHEL, Bugzilla will work fine under SELinux as long as it is underneath the /var/www/html/ directory. You may have to run this command to make it work properly, though:

 restorecon -Rv /var/www/html/

Managerial Questions

Is it possible to delete bug reports?

Yes. You have to turn on the 'allowbugdeletion' parameter, which is off by default. Note that you cannot delete bug reports one by one. You have to move them in a product or component, e.g. named "Trash", and then delete this product or component. The reason we make it hard is that you generally don't want to delete bug reports; they're supposed to be a permanent historical record.

Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine?

Bugzilla is web-based, and it sends emails.

Does Bugzilla allow us to define our own priorities, levels, and other values?

Yes. You can edit the values of hardcoded fields but not their label. Since Bugzilla 3.0, you can even edit the list of valid resolutions and since Bugzilla 3.2, the list of legal bug statuses and transitions among them.

Moreover, Bugzilla 3.0 and newer allow you to add custom fields to Bugzilla from the UI.

Does Bugzilla provide any reporting features, metrics, graphs, etc?

Yes. Look at http://landfill.bugzilla.org/bugzilla-tip/report.cgi for samples of what Bugzilla can do in reporting and graphing. Fuller documentation is provided in Section 6.11.

There are also various third-party tools that do reporting for Bugzilla.

Is there email notification? If so, what do you see when you get an email?

Email notification is user-configurable. By default, the bug id and summary of the bug report accompany each email notification, along with a list of the changes made.

Do users have to have any particular type of email application?

No. Bugzilla can send email in plain text, the most compatible mail format on the planet. HTML email is available for people who want it formatted in a more readable fashion. The site admin can choose which format is default, but each user can change it from the default also.

Does Bugzilla allow data to be imported and exported? (Say, from/to Word or Excel.)

Bugzilla can output buglists as HTML (the default), CSV, XML, and Atom. A link for each of these formats can be found at the bottom of your search results. The CSV format can easily be imported into MS Excel or other spreadsheet applications.

Currently the only script included with Bugzilla that can import data is importxml.pl. It imports bugs as XML. If you want to see the XML format it expects, view a bug and select the "XML" link on the page (it's small, you might have to search for it).

Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?

Yes, Bugzilla is fully localizable, and many languages are already available. For more information including available translated templates, see http://www.bugzilla.org/download/#localizations.

Are there any backup features provided?

You should use the commands included with your database software to run the backups of your Bugzilla data. You can find strategies for dealing with backup considerations at https://dev.mysql.com/doc/mysql-enterprise-backup/en/mysqlbackup.tasks.html for MySQL and at http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.

What skills do you need to install and maintain Bugzilla?

If Bugzilla is set up correctly from the start, continuing maintenance needs are minimal and can be done easily using the web interface.

For installation or upgrades, it helps to understand Perl, Apache, and MySQL. Also, the installer should have a solid grasp of the platform (Windows, OS X, Linux, etc.) that Bugzilla is being installed on.

How much time does it take to install and maintain Bugzilla?

It all depends on what you need out of Bugzilla, and how much you plan to customize it.

Someone with a lot of Bugzilla experience can get you up and running in a few hours, and your Bugzilla install can run untended for years. Less-experienced administrators sometimes need a few days to set up Bugzilla.

If you plan to customize the code or user interface of your Bugzilla, then the amount of maintenance time increases. First, there's the time to customize (which depends on how much customization you want to do). Then, after you've customized, any time you want to upgrade, you may have to do some work to bring your customizations forward into the new version.

Is there any licensing fee or other fees for using Bugzilla?

No. Bugzilla and all the supporting software it needs (Apache, Perl, MySQL, etc.) are free.

We don't like referring to problems as 'bugs'. Can we change that?

Yes! You can edit the file template/en/default/global/variables.none.tmpl to change the word "bug" in all of Bugzilla.

Administrative Questions

Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified?

Bugzilla does not lock records. It provides "mid-air collision" detection, which means that it warns a user when a commit is about to conflict with commits recently made by another user, and offers the second user a choice of options to deal with the conflict.

Can users be on the system while a backup is in progress?

Yes. You should use the commands included with your database software to run the backups of your Bugzilla data. You can find strategies for dealing with backup considerations at http://www.mysql.com/doc/B/a/Backup.html for MySQL and at http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.

Can I restrict a user's ability to edit certain bug fields?

Users can only edit bugs if they are the Assignee, the QA Contact, or are in the editbugs group. (Certain fields can also be edited by the Reporter. Also, all users can always comment and CC themselves on bugs.) However, note that by default, all users are in the editbugs group. If you want to change this default, go to Administration -> Groups, choose "editbugs" and clear the "userregexp" field. Then you can use Administration -> Users to explicitly add back certain users into the "editbugs" group, if you want them to be able to edit every field on every bug in the system. (Also, you can use Administration -> Products -> (select product) -> Group Controls to give groups of users "editbugs" for specific products.)

If you want any finer-grained control than that, it requires code changes. You have to edit the check_can_change_field subroutine in the file Bugzilla/Bug.pm. The file has many comments to help guide your edits.

How do I make it so that bugs can have an UNCONFIRMED status?

Bugzilla 3.6 or later: For each product that you want to enable UNCONFIRMED in, visit that product's admin page using editproducts.cgi (Administration > Products) and enable the UNCONFIRMED status using a checkbox there.

Before Bugzilla 3.6: To use the UNCONFIRMED status, you must have the 'usevotes' parameter set to "On". Then, using editproducts.cgi, you have to set the "Number of votes a bug in this product needs to automatically get out of the unconfirmed state" to a non-zero number. You will have to do this for each product that wants to use the UNCONFIRMED state.

If you do not actually want users to be able to vote for bugs entered against this product, leave the "Maximum votes per person" value at '0'.

How do I move a Bugzilla installation from one machine to another?

See Bugzilla:Move Installation.

I restricted a product to be visible to more than one group, and now only users who are members of all of those groups can see it. How do I make it visible to someone who's a member of any of those groups (but not all of them)?

Bugzilla treats all of the group restrictions on a product as an AND comparison. That is, if you put group controls for more than one group on the same product, then users must be a member of ALL of those groups to be able to perform the restricted action.

If you want OR groups (a member of any of the groups can do it), all is not lost. The way to do this is to create two different sets of groups.

The first set of groups defines groups of people. These groups are not used for group controls on products. In fact, you can leave the "use for bugs" setting turned off on them. These are the groups you will make users be members of. Groupings such as "engineering" or "QA" or "security-team" or "marketing" or similar.

The second set of groups has no users in its membership. You use these groups to define things you want to use group restrictions on, and these will be the groups that you set up in the Group Controls in the product editor. For example, if you have a product (or a set of 3 or 4 products) that you wish to secure to the same set of people, create a group for it. These groups will need to have "use for bugs" checkmarked. Then in the "Groups That Are a Member of This Group" section, add the people groups you created above that you want to be able to access things secured with this group.

Email

How do I stop email entirely for one user?

The user can stop Bugzilla from sending any mail by clicking "Disable All Mail" on the Preferences > Email Preferences page, and then submitting the form.

Alternately, an administrator can disable all bugmails for a user from the Administration > Users page. This will override that user's personal preferences, and they will never be sent mail again.

I'm evaluating/testing Bugzilla, and don't want it to send email to anyone. How do I do it?

Go to Administration > Parameters. In the "Email" section of the parameters, set mail_delivery_method to "Test". Then all emails will go to a file on the disk (data/mailer.testfile in the Bugzilla directory) instead of being sent out.

Windows

Can Bugzilla run on Windows? How?

Yes, Bugzilla can run on Windows. See the Bugzilla:Win32Install page for information about how to install and configure Bugzilla on 32-bit Windows. See the Bugzilla:WindowsServer2008Install page for information about how to install on configure Bugzilla on Windows Server 2008 64-bit.

For Users

How do I change my user name (email address) in Bugzilla?

Go to the Name and Password section of the Preferences screen. You will be emailed at both addresses for confirmation.

If you don't see the option to change your email address on this page, then your Bugzilla administrator hasn't enabled the allowemailchange parameter.

The search page is very confusing. Is there a simpler way to search?

The "Find a Specific Bug" page (one of the tabs when you go to the Search page) is simpler than the Advanced Search form.

Also, there is a type of search called "Quicksearch" available in the header and footer of every page. See the "Quicksearch Help" link on the front page of Bugzilla for information on using Quicksearch.

Why can't I close bugs from the "Change Several Bugs at Once" page?

You can, but all the bugs in your search results have to be in a status that can validly change to CLOSED. In Bugzilla 3.2 and later, this means that you have to have set a valid transition to CLOSED from the bugs' statuses, using Administration > Status Workflow. For versions of Bugzilla before 3.2, only VERIFIED bugs can transition to CLOSED.

How do I search for public bugs (bugs that aren't restricted to a group)?

You can search for bugs without a group by using Boolean Charts at the bottom of the Advanced Search page: "Not (negate this whole chart)" + "Group" + "matches regular expression" + "."

Troubleshooting

Bugzilla can't connect to the database

Here's some things to check:

  1. Make sure that the $db_user and $db_pass settings in the localconfig file are correct.
  2. If you're using MySQL, make sure that DBD::mysql was compiled against the version of MySQL that you're using. For example, a DBD::mysql compiled against MySQL 4.0 won't work with MySQL 5.1. In versions of Bugzilla 3.2 or greater, you can re-install DBD::mysql by doing:
    ./install-module.pl DBD::mysql
    in your Bugzilla directory.

I tried to move my Bugzilla from one machine to another, and now there's something wrong with the data.

Make sure that you followed the instructions on Bugzilla:Move Installation. In particular, when you import a database dump, your database has to be totally empty, meaning that it must have no tables in it at all.

I get the error "MySQL server has gone away"

This usually means that the max_allowed_packet setting in your MySQL configuration is too small. It needs to be set larger than the largest piece of data you're trying to insert in to the database. (Usually, this means it has to be larger than your maxattachmentsize parameter.) The MySQL configuration is usually in /etc/my.cnf.

I have Apache's mod_security installed, and Bugzilla is not functioning.

Bugzilla is not compatible with mod_security. You will have to uninstall mod_security or disable it for Bugzilla.

My parameters don't update when using editparams.cgi, what am I doing wrong?

Bugzilla's parameters are stored in the data/params file. In order to update parameters, the user that your web server runs Bugzilla's scripts as needs permission to:

  • create, alter and delete files in Bugzilla's data/ directory
  • alter and delete the params file in Bugzilla's data/ directory

Old Charts complain about "Unable to open the chart datafile ./data/mining/-All-"

See http://www.bugzilla.org/docs/tip/html/extraconfig.html for information on how to set up the collectstats.pl script to enable the Old Charts and New Charts.

My problem isn't listed here

If all else fails, check out places you can get support for Bugzilla.