Bugzilla::Component - Bugzilla product component class.
use Bugzilla::Component;
my $component = new Bugzilla::Component($comp_id);
my $component = new Bugzilla::Component({ product => $product, name => $name });
my $bug_count = $component->bug_count();
my $bug_ids = $component->bug_ids();
my $id = $component->id;
my $name = $component->name;
my $description = $component->description;
my $product_id = $component->product_id;
my $default_assignee = $component->default_assignee;
my $default_qa_contact = $component->default_qa_contact;
my $initial_cc = $component->initial_cc;
my $product = $component->product;
my $bug_flag_types = $component->flag_types->{'bug'};
my $attach_flag_types = $component->flag_types->{'attachment'};
my $component = Bugzilla::Component->check({ product => $product, name => $name });
my $component =
Bugzilla::Component->create({ name => $name,
product => $product,
initialowner => $user_login1,
initialqacontact => $user_login2,
description => $description});
$component->set_name($new_name);
$component->set_description($new_description);
$component->set_default_assignee($new_login_name);
$component->set_default_qa_contact($new_login_name);
$component->set_cc_list(\@new_login_names);
$component->update();
$component->remove_from_db;
Component.pm represents a Product Component object.
new($param) Description: The constructor is used to load an existing component
by passing a component ID or a hash with the product
object the component belongs to and the component name.
Params: $param - If you pass an integer, the integer is the
component ID from the database that we want to
read in.
However, If you pass in a hash, it must contain
two keys:
name (string): the name of the component
product (object): an object of Bugzilla::Product
representing the product that the component belongs to.
Returns: A Bugzilla::Component object.
bug_count()Description: Returns the total of bugs that belong to the component. Params: none. Returns: Integer with the number of bugs.
bug_ids()Description: Returns all bug IDs that belong to the component. Params: none. Returns: A reference to an array of bug IDs.
default_assignee() Description: Returns a user object that represents the default assignee for
the component.
Params: none.
Returns: A Bugzilla::User object.
default_qa_contact() Description: Returns a user object that represents the default QA contact for
the component.
Params: none.
Returns: A Bugzilla::User object if the default QA contact is defined for
the component. Otherwise, returns undef.
initial_cc Description: Returns a list of user objects representing users being
in the initial CC list.
Params: none.
Returns: An arrayref of L<Bugzilla::User> objects.
flag_types() Description: Returns all bug and attachment flagtypes available for
the component.
Params: none.
Returns: Two references to an array of flagtype objects.
product()Description: Returns the product the component belongs to. Params: none. Returns: A Bugzilla::Product object.
set_name($new_name) Description: Changes the name of the component.
Params: $new_name - new name of the component (string). This name
must be unique within the product.
Returns: Nothing.
set_description($new_desc)Description: Changes the description of the component. Params: $new_desc - new description of the component (string). Returns: Nothing.
set_default_assignee($new_assignee) Description: Changes the default assignee of the component.
Params: $new_owner - login name of the new default assignee of
the component (string). This user account
must already exist.
Returns: Nothing.
set_default_qa_contact($new_qa_contact) Description: Changes the default QA contact of the component.
Params: $new_qa_contact - login name of the new QA contact of
the component (string). This user
account must already exist.
Returns: Nothing.
set_cc_list(\@cc_list) Description: Changes the list of users being in the CC list by default.
Params: \@cc_list - list of login names (string). All the user
accounts must already exist.
Returns: Nothing.
update()Description: Write changes made to the component into the DB. Params: none. Returns: A hashref with changes made to the component object.
remove_from_db() Description: Deletes the current component from the DB. The object itself
is not destroyed.
Params: none.
Returns: Nothing.
create(\%params) Description: Create a new component for the given product.
Params: The hashref must have the following keys:
name - name of the new component (string). This name
must be unique within the product.
product - a Bugzilla::Product object to which
the Component is being added.
description - description of the new component (string).
initialowner - login name of the default assignee (string).
The following keys are optional:
initialqacontact - login name of the default QA contact (string),
or an empty string to clear it.
initial_cc - an arrayref of login names to add to the
CC list by default.
Returns: A Bugzilla::Component object.