6.1.8. Composants

Cette partie de l'API Bugzilla permet de traiter les composants de produits disponibles. Vous pouvez obtenir des informations sur ceux-ci ou les manipuler.

6.1.8.1. Création de composant

Ceci vous permet de créer un nouveau composant dans Bugzilla. Vous devez être authentifié et être dans le groupe editcomponents pour réaliser cette action.

Requête

Pour créer un nouveau composant :

POST /rest/component
{
  "product" : "TestProduct",
  "name" : "Nouveau composant",
  "description" : "Ceci est un nouveau composant",
  "default_assignee" : "dkl@mozilla.com"
}

Certains paramètres doivent être définis ou une erreur sera renvoyée. Ces paramètres sont affichés en gras.

nom type description
name string Le nom du nouveau composant.
product string Le nom du produit auquel le composant doit être ajouté. Ce produit doit déjà exister et l'utilisateur doit avoir les droits nécessaires pour modifier le composant dans celui-ci.
description string La description du nouveau composant.
default_assignee string L'identifiant de connexion du responsable par défaut du composant.
default_cc array Chaque chaîne représente un identifiant de connexion de la liste 'Copie à' par défaut.
default_qa_contact string L'identifiant de connexion du responsable QA par défaut du composant.
is_open boolean 1 si vous voulez autoriser la création de bogues pour ce composant. 0 dans le cas contraire. La valeur par défaut est 1.

Réponse

{
  "id": 27
}
nom type description
id int Le numéro du composant nouvellement créé.

Erreurs

  • 304 (Échec d'autorisation) Vous n'êtes pas autorisé à créer de nouveaux composants.
  • 1200 (Le composant existe déjà) Le nom que vous avez spécifié pour le nouveau composant existe déjà dans le produit indiqué.

6.1.8.2. Mise à jour de composant

Permet de créer un ou plusieurs composants dans Bugzilla.

Requête

PUT /rest/component/<component_id>
PUT /rest/component/<product_name>/<component_name>

Les paramètres à inclure dans le corps du PUT, tout comme le format des données renvoyées, sont les mêmes que ci-dessous. Les paramètres 'ids' et 'names' seront écrasés car ils sont tirés de l'URL.

nom type description
ids array Identifiants numériques des composants que vous souhaitez mettre à jour.
names array Objets avec les noms des composants que vous souhaitez mettre à jour. Les clés de l'objet sont 'product' et 'component', représentant le nom du produit et du composant que vous souhaitez mettre à jour.
name string Un nouveau nom pour le composant. Si vous essayez de le définir lors d'une mise à jour de plus d'un composant du produit, une erreur sera renvoyée car le nom des composants doit être unique dans chaque produit.
description string Met à jour la description longue des composants avec cette valeur.
default_assignee string Le nom de connexion du responsable par défaut du composant.
default_cc array Un tableau de chaînes dont chaque élément représente un nom de connexion de la liste par défaut 'Copie à'.
default_qa_contact string Le nom de connexion du contact QA par défaut du composant.
is_open boolean Défini à 'true' si le composant autorise l'affectation de bogues, 'false' dans le cas contraire.

Réponse

{
  "components" : [
    {
      "id" : 123,
      "changes" : {
        "name" : {
          "removed" : "FooName",
          "added"   : "BarName"
        },
        "default_assignee" : {
          "removed" : "foo@company.com",
          "added"   : "bar@company.com"
        }
      }
    }
  ]
}

Un objet contenant un unique champ 'components' pointant vers un tableau d'objets contenant les champs suivants :

nom type description
id int L'identifiant du composant mis à jour.
changes object

Les modifications survenues sur ce composant. Les clés sont les noms des champs qui ont été modifiés, et les valeurs sont des objets contenant deux clés :

added (string) La nouvelle valeur pour ce champ. removed (string) La précédente valeur pour ce champ.

Les booléens seront représentés par les chaînes '1' et '0'.

Erreurs

  • 51 (L'utilisateur n'existe pas) Une des adresses électroniques des contacts n'est pas un utilisateur valide de Bugzilla.
  • 106 (Accès au produit refusé) Le produit que vous essayez de modifier n'existe pas ou vous n'avez pas les autorisations pour y accéder.
  • 706 (Administration du produit refusée) Vous ne disposez pas des autorisations pour modifier les composants pour ce produit.
  • 105 (Nom du composant trop long) Le nom spécifié pour ce composant est plus long que la longueur maximale autorisée.
  • 1200 (Le nom du composant existe déjà) Vous avez spécifié le nom d'un composant qui existe déjà. (Les noms des composants doivent être uniques pour chaque produit dans Bugzilla).
  • 1210 (Pas de nom de composant) Vous devez indiquez un nom pour ce composant.
  • 1211 (Le composant doit avoir une description) Vous devez indiquer une description pour ce composant.
  • 1212 (Le nom du composant n'est pas unique) Vous avez essayé de définir plus d'un composant avec le même nom dans le même produit. Les noms de composants doivent être unique pour chaque produit.
  • 1213 (Le composant nécessite un responsable par défaut) Un responsable par défaut est nécessaire pour ce composant.

6.1.8.3. Suppression de composant

Ceci permet de supprimer un ou plusieurs composants de Bugzilla.

Requête

DELETE /rest/component/<component_id>
DELETE /rest/component/<product_name>/<component_name>
nom type description
ids int Identifiants numériques des composants que vous souhaitez supprimer.
names array Objets contenant les noms des composants que vous souhaitez supprimer. Les clés des objets sont 'product' et 'component', représentant les noms du produit et du composant que vous voulez supprimer.

Réponse

Un objet avec un unique champ 'components' qui pointe sur un tableau d'objets contenant le champ suivant :

nom type description
id int L'identifiant du composant supprimé.
{
  "components" : [
    {
      "id" : 123,
    }
  ]
}

Erreurs

  • 106 (Accès au produit refusé) Le produit que vous avez essayé de modifier n'existe pas ou vous n'avez pas les permissions pour y accéder.
  • 706 (Administration du produit refusé) Vous n'avez pas les autorisations pour supprimer les composants pour ce produit.
  • 1202 (Le composant contient des bogues) Le composant que vous essayez de supprimer contient des bogues. Vous devez déplacer ces bogues avant de supprimer le composant.