Gnats::PR(3)

NAME
Net::Gnats::PR - Represents a Gnats PR.

SYNOPSIS
  use Net::Gnats;
  my $g = Net::Gnats->new();
  $g->connect();
  my @dbNames = $g->getDBNames();
  $g->login("default","somedeveloper","password");
  my $PRtwo = $g->getPRByNumber(2);
  print $PRtwo->asString();
  my $newPR = Net::Gnats::PR->new();
  $newPR->setField("Submitter-Id","developer");
  $g->submitPR($newPR);
  $g->disconnect();

DESCRIPTION
Net::Gnats::PR models a GNU Gnats PR (Problem Report). The module allows proper formatting and parsing of PRs through an object oriented interface.

The current version of Net::Gnats (as well as related information) is available at http://gnatsperl.sourceforge.net/

COMMON TASKS

  CREATING A NEW PR
The Net::Gnats::PR object acts as a container object to store information about a PR (new or otherwise). A new PR is submitted to gnatsperl by constructing a PR object.

  my $newPR = Net::Gnats::PR->new();
  $newPR->setField("Submitter-Id","developer");
  $newPR->setField("Originator","Doctor Wifflechumps");
  $newPR->setField("Organization","GNU");
  $newPR->setField("Synopsis","Some bug from perlgnats");
  $newPR->setField("Confidential","no");
  $newPR->setField("Severity","serious");
  $newPR->setField("Priority","low");
  $newPR->setField("Category","gnatsperl");
  $newPR->setField("Class","sw-bug");
  $newPR->setField("Description","Something terrible happened");
  $newPR->setField("How-To-Repeat","Like this.  Like this.");
  $newPR->setField("Fix","Who knows");

Obviously, fields are dependent on a specific gnats installation, since Gnats administrators can rename fields and add constraints.

  CREATING A NEW PR OBJECT FROM A PREFORMATTED PR STRING
Instead of setting each field of the PR individually, the setFromString() method is available. The string that is passed to it must be formatted in the way Gnats handles the PRs (i.e. the '>Field: Value' format. You can see this more clearly by looking at the PR files of your Gnats installation). This is useful when handling a Gnats email submission ($newPR->setFromString($email)) or when reading a PR file directly from the database.

METHOD DESCRIPTIONS

  new()
Constructor, no arguments.

  setField()
Sets a gnats field value. Expects two arguments: the field name followed by the field value.

  getField()
Returns the string value of a PR field.

  setNumber()
Sets the gnats PR number. This is the only field name explicitly known to Net::Gnats::PR. Provide PR number as sole argument.

  getNumber()
Returns the gnats PR number. This is the only field name explicitly known to Net::Gnats::PR.

  asHash()
Returns the PR formatted as a hash. The returned hash contains field names as keys, and the corresponding field values as hash values.

  getKeys()
Returns the list of PR fields contained in the object.

  asString()
Returns the PR object formatted as a Gnats recongizable string. The result is suitable for submitting to Gnats.

  setFromString()
Parses a Gnats formatted PR and sets the object's fields accordingly.

BUGS
Bug reports are very welcome. Please submit to the project page (noted below).

AUTHOR
Mike Hoolehan, <lt>mike@sycamore.us<gt> Project hosted at sourceforge, at http://gnatsperl.sourceforge.net

COPYRIGHT
Copyright (c) 1997-2001, Mike Hoolehan. All Rights Reserved. This module is free software. It may be used, redistributed, and/or modified under the same terms as Perl itself.