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.