replaceField
Sets a new value for an existing field.
If the field requires a Change Reason, and the field does not exist in the PR, then the FieldInstance for the Change Reason is created.
Returns 0 if the field does not exist.
Returns 0 if the field requires a changeReason, but one was not provided.
Returns 0 if the change did not occur successfully.
Returns 1 if the field is set and flushed to Gnats.
setField
Sets a gnats field value. Expects two arguments: the field name followed by the field value. If the field requires a change reason, provide it as a third argument.
getField
Returns the string value of a PR field.
$pr->getField('field');
DEPRECATION NOTICE: this will be deprecated in the near future. Use instead:
$r->get_field('field')->value
getNumber()
Returns the gnats PR number. In previous versions of gnatsperl the Number field was explicitly known to Net::Gnats::PR. This method remains for backwards compatibility.
DEPRECATION NOTICE: this will be deprecated in the near future. Use instead:
$r->get_field('Number')->value
getKeys
Returns the list of PR fields contained in the object.
asHash
Returns the PR formatted as a hash. The returned hash contains field names as keys, and the corresponding field values as hash values.
CHANGE ALERT: This method now returns all FieldInstance objects.
asString
Returns the PR object formatted as a Gnats recongizable string. The result is suitable for submitting to Gnats.
deserialize
Deserializes a PR from Gnats and returns a hydrated PR.
my $pr = Net::Gnats::PR->deserialize(raw => $c->response->raw,
schema => $s->schema);
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.
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.