The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

BZ::Client::Bugzilla - Information about the Bugzilla server, i.e. the Bugzilla::Webservices::Bugzilla API

VERSION

version 4.4004

SYNOPSIS

This class provides methods for accessing information about the Bugzilla servers installation.

  my $client = BZ::Client->new( url      => $url,
                                user     => $user,
                                password => $password );

  my $extensions = BZ::Client::Bugzilla->extensions( $client );
  my $time = BZ::Client::Bugzilla->time( $client );
  my $version = BZ::Client::Bugzilla->version( $client );

CLASS METHODS

This section lists the class methods, which are available in this module.

extensions

 %extensions = BZ::Client::Bugzilla->extensions( $client );
 $extensions = BZ::Client::Bugzilla->extensions( $client );

Returns a hash or hash ref information about the extensions that are currently installed and enabled in this Bugzilla.

History

Added in Bugzilla 3.2.

As of Bugzilla 3.6, the names of extensions are canonical names that the extensions define themselves. Before 3.6, the names of the extensions depended on the directory they were in on the Bugzilla server.

Parameters

(none)

Returns

The hash contains the names of extensions as keys, and the values are a hash.

That hash contains a single key version, which is the version of the extension, or 0 if the extension hasn't defined a version.

The return value looks something like this:

 {
   Example => {
     version => '3.6',
   },
   BmpConvert => {
     version => '1.0',
   },
 }

last_audit_time

 $last_audit_time = BZ::Client::Bugzilla->extensions( $client, \%params );

Gets the latest time of the audit_log table.

History

Added in Bugzilla 4.4.

Parameters

You can pass the optional parameter "class" to get the maximum for only the listed classes.

class

class (array) - An array of strings represetning the class names.

Note: The class names are defined as "Bugzilla::class_name". For the product use Bugzilla::Product.

Returns

The maximum of the at_time from the audit_log, as a DateTime object.

parameters

 %parameters = BZ::Client::Bugzilla->parameters( $client );
 $parameters = BZ::Client::Bugzilla->parameters( $client );

Returns a hash or hashref containing the current Bugzilla parameters.

History

Added in Bugzilla 4.4.

Parameters

(none)

Returns

A logged-out user can only access the maintainer and requirelogin parameters.

A logged-in user can access the following parameters (listed alphabetically): allowemailchange, attachment_base, commentonchange_resolution, commentonduplicate, cookiepath, defaultopsys, defaultplatform, defaultpriority, defaultseverity, duplicate_or_move_bug_status, emailregexpdesc, emailsuffix, letsubmitterchoosemilestone, letsubmitterchoosepriority, mailfrom, maintainer, maxattachmentsize, maxlocalattachment, musthavemilestoneonaccept, noresolveonopenblockers, password_complexity, rememberlogin, requirelogin, search_allow_no_criteria, urlbase, use_see_also, useclassification, usemenuforusers, useqacontact, usestatuswhiteboard, usetargetmilestone.

A user in the tweakparams group can access all existing parameters. New parameters can appear or obsolete parameters can disappear depending on the version of Bugzilla and on extensions being installed. The list of parameters returned by this method is not stable and will never be stable.

time

 %timeinfo = BZ::Client::Bugzilla->time( $client );
 $timeinfo = BZ::Client::Bugzilla->time( $client );

Gets information about what time the Bugzilla server thinks it is, and what timezone it's running in.

History

Added in Bugzilla 3.4.

Note: As of Bugzilla 3.6, this method returns all data as though the server were in the UTC timezone, instead of returning information in the server's local timezone.

Parameters

(none)

Returns

A hash with the following items:

db_time

db_time (DateTime) - The current time in UTC, according to the Bugzilla database server.

Note that Bugzilla assumes that the database and the webserver are running in the same time zone. However, if the web server and the database server aren't synchronized for some reason, this is the time that you should rely on for doing searches and other input to the WebService.

web_time

web_time (DateTime) - This is the current time in UTC, according to Bugzilla's web server.

This might be different by a second from "db_time" since this comes from a different source. If it's any more different than a second, then there is likely some problem with this Bugzilla instance. In this case you should rely on the "db_time", not the "web_time".

web_time_utc

Identical to "web_time". (Exists only for backwards-compatibility with versions of Bugzilla before 3.6.)

tz_name

tz_name (string) - The literal string UTC. (Exists only for backwards-compatibility with versions of Bugzilla before 3.6.)

tz_short_name

tz_short_name (string) - The literal string UTC. (Exists only for backwards-compatibility with versions of Bugzilla before 3.6.)

tz_offset

tz_offset (string) - The literal string +0000. (Exists only for backwards-compatibility with versions of Bugzilla before 3.6.)

timezone

 $timezone = BZ::Client::Bugzilla->timezone( $client );

Returns the Bugzilla servers timezone as a numeric value. This method is deprecated: Use "time" instead.

Note: as of Bugzilla 3.6 the timezone is always +0000 (UTC) Also, Bugzilla has depreceated but not yet removed this API call

version

 $version = BZ::Client::Bugzilla->version( $client );

Returns the Bugzilla servers version.

EXCEPTION HANDLING

See BZ::Client::Exception

SEE ALSO

BZ::Client, BZ::Client::API, Bugzilla API

AUTHORS

  • Dean Hamstead <dean@bytefoundry.com.au>

  • Jochen Wiedmann <jochen.wiedmann@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 by Dean Hamstad.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.