5.7.199. Bugzilla::Extension::RedHat::WebService::Component

5.7.199.1. NAME

Bugzilla::WebService::Component - The Component API

5.7.199.2. DESCRIPTION

This part of the Bugzilla API allows you to get info about accessible components, create new components and also edit the attributes of existing components.

5.7.199.3. METHODS

See Bugzilla::WebService for a description of what STABLE, UNSTABLE, and EXPERIMENTAL mean, and for more information about error codes.

Get Components

  • get EXPERIMENTAL
  • Description
Returns information about Bugzilla::Component in accessible Bugzilla::Product.
  • Params

At least one of the following two parameters must be specified:

  • ids (array) - An array of integers, representing components ids.
  • names (array) - An array of hashes, each hash has product name and component name.
  • Returns

Information about all accessible product components passed. Components that do not exist or are not accessible are silently ignored.

The return value will be A hash containing one item, components, that is an array of hashes. Each hash describes a component, and has the following items:

  • id
int The unique integer ID that Bugzilla uses to identify this component. Even if the name of the component changes, this ID will stay the same.
  • name
string The name of the component.
  • description
string The description of the component.
  • product_id
int The id of the product that the component belongs to.
  • product_name
string The name of the product that the component belongs to.
  • default_assignee
string The login name of the default owner of the component if the user is logged in, if the user is not logged in then only the realname of the default owner will be returned.
  • default_qa_contact
string The login name of the default qa contact of the component if the user is logged in, if the user is not logged in then only the realname of the default qa contact will be returned.
  • default_docs_contact
string The login name of the default docs contact of the component if the user is logged in, if the user is not logged in then only the realname of the default docs contact will be returned.
  • default_cc
array The default CC list for this component. It is an array of login names if the user is logged in. If the user is not logged in then only the realname of the default cc list members will be returned.
  • flags
array List of component flags, only returned for logged in users.
  • template_id
string The template text ID that is used when creating new bugs for this component.
  • agile_team
string the Agile Team bugs in this component will default to.
  • is_active

boolean A boolean indicating if the component is active. Inactive components are not enabled for new bugs.

This feature is a Red Hat customisation.

  • default_to_private

boolean A boolean indicating if bugs for the component default to private.

This feature is a Red Hat customisation.

  • Errors
  • 51 (Invalid Object)
A non existing product or component name was passed to the function, as a result no product or component object existed for that invalid name.
  • 106 (Invalid Product)
You were required to specify a product, and either you didn’t, or you specified an invalid product (or a product that you can’t access).

Create Component

  • create EXPERIMENTAL
  • Description
Creates new component for an existing product.
  • Params

A hash containing the following component fields:

  • product
string Required The name of the product that the component will be added to.
  • component
string Required The name of the new component.
  • description
string Required The description of the new component.
  • default_assignee
string Required The initial owner of the new component.
  • default_qa_contact
string Optional The initial qa contact for the new component.
  • default_docs_contact
string Optional The initial docs contact for the new component.
  • default_cc
array Optional Array of the initial cclist for the new component.
  • template_id
string Optional The ID of the default template to use when creating a bug with this component.
  • Returns
A hash containing one item, id, which is the id of the newly created component
  • Errors
  • 304 (Authorization Required) Logged-in user not authorized to create components.
  • 106 (Product Access Denied) Logged-in user doesn’t have access to the specified product to create

components for it.

  • 50 (Product Not Specified) Logged-in user didn’t specify any product names for the component they want

to create.

  • 106 (Product Doesn’t Exist) The specified product doesn’t exist.
  • 105 (Component Name Is Too Long) The name of the component is longer than 64 characters.
  • 105 (Component Requires Default Assignee) User didn’t specify a default assignee for the new component.
  • 105 (Blank Component Description Not Allowed) User didn’t specify a description for the new component.
  • 105 (Blank Component Name Not Allowed) User didn’t specifiy name for the new component.
  • 105 (Component Already Exists) Trying to create a component which has similar name to an existing component.
  • 51 (Invalid Username) Invalid login name was provided for the component’s default assignee,

default qa contact, default docs contact or one of the default cc.

Update Components

  • update EXPERIMENTAL
  • Description
Updates single or multiple components information.
  • Params

A hash containing either ids, that is an array of integers or a single integer representing the components ids, or names, that is an array of hashes, each hash has product name and component name, or both together, and updatesthat is a hash containg the component fields that will be updated, the update has may contain any of the following items:

  • name
string The name of the component.
  • description
string The description of the component.
  • default_assignee
string The login name of the default owner of the component.
  • default_qa_contact
string The login name of the default qa contact of the component.
  • default_docs_contact
string The login name of the default docs contact of the component.
  • default_cc
array A list of the login names in the default cc list of the component.
  • template_id
string Optional The ID of the default template to use when creating a bug with this component.
  • Returns

A hash containing one item, components_updates, which is a hash of hashes, with component ids as the hash keys pointing to hashes that contains the changes that were made to the component information. The hash may contain any of the following:

  • name
array An array of (strings) that holds the old and the new names of the component.
  • description
array An array of (strings) that holds the old and the new descriptions of the component.
  • default_assignee
array An Array of (strings) that holds the old and the new login names of the default owner of the component.
  • default_qa_contact
array An array of (strings) that holds the old and the new login names of the default qa contact of the component.
  • default_docs_contact
array An array of (strings) that holds the old and the new login names of the default docs contact of the component.
  • default_cc
array An array of (strings) that holds the old and the new lists of the login names in the default cc list of the component.
  • Errors
  • 50 (Invalid Product)
You were required to specify a product, and either you didn’t, or you specified an invalid product (or a product that you can’t access).
  • 304 (Authorization Required) Logged-in user not authorized to edit components.
  • 105 (Component Already Exists) Trying to change component name to similar name of an existing component

of the same product.

  • 51 (Invalid Username) Invalid login name was provided for the component’s default assignee,

default qa contact, default docs contact or one of the default cc.

  • 105 (Component Name Is Too Long) The name of the component is longer than 64 characters.
  • 105 (Multiple Components Update Not Allowed) Can not do multiple components update when changing the name

of multiple components of the same product.

Delete Components

  • delete EXPERIMENTAL
  • Description
This allows you to delete one or more components in Bugzilla.
  • Params

Note: The following parameters specify which components you are deleting. You must set one or both of these parameters.

  • ids
array of ints. Numeric ids of the components that you wish to delete.
  • names
array of hashes. Names of the components that you wish to delete. The hash keys are product and component, representing the name of the product and the component you wish to delete.
  • Returns

A hash with a single field “components”. This points to an array of hashes with the following field:

  • id
int The id of the component that was deleted.
  • Errors
  • 106 (Product access denied)
The product you are trying to modify does not exist or you don’t have access to it.
  • 706 (Product admin denied)
You do not have the permission to delete components for this product.
  • 1202 (Component has bugs)
The component you are trying to delete currently has bugs assigned to it. You must move these bugs before trying to delete the component.
  • History
  • Added in Bugzilla 5.0
Backported to RHBZ 4.4.

This documentation undoubtedly has bugs; if you find some, please file them here.