6.1.12. Produits¶
Cette partie de l'API de Bugzilla permet de lister les produits disponibles et d'obtenir des informations sur ceux-ci.
6.1.12.1. Liste des produits¶
Renvoie une liste des identifiants de produits pour lesquels l'utilisateur a les droits.
Requête
Pour obtenir une liste d'identifiants de produits qu'un utilisateur peut sélectionner :
GET /rest/product_selectable
Pour obtenir une liste de produits pour lesquels un utilisateur a le droit de créer un bogue :
GET /rest/product_enterable
Pour obtenir une liste de produits pour lesquels un utilisateur peut créer un bogue et faire des requêtes :
GET /rest/product_accessible
Réponse
{
"ids": [
"2",
"3",
"19",
"1",
"4"
]
}
nom | type | description |
---|---|---|
ids | array | Liste d'identifiants (entiers) de produits. |
6.1.12.2. Obtention de produit¶
Renvoie une liste d'informations sur les produits.
Requête
Pour obtenir des informations sur un type spécifique de produit tels que
accessible
, selectable
ou enterable
:
GET /rest/product?type=accessible
Pour obtenir des informations sur un produit spécifique par id
ou name
:
GET /rest/product/(id_or_name)
Vous pouvez aussi obtenir des informations sur plus d'un produit en utilisant les paramètres suivants dans la chaîne de requête :
GET /rest/product?ids=1&ids=2&ids=3
GET /rest/product?names=ProductOne&names=Product2
nom | type | description |
---|---|---|
id_or_name | mixed | Identifiant (entier) ou nom de produit. |
ids | array | Identifiants de produits |
names | array | Noms de produits |
type | string | Le groupe de produit à renvoyer. Les valeurs valides sont
accessible (défaut), selectable et enterable .
type peut être une valeur unique ou un tableau de valeurs
si plus d'un groupe est nécessaire, avec les doublons
supprimés. |
Réponse
{
"products": [
{
"id": 1,
"default_milestone": "---",
"components": [
{
"is_active": true,
"default_assigned_to": "admin@bugzilla.org",
"id": 1,
"sort_key": 0,
"name": "TestComponent",
"flag_types": {
"bug": [
{
"is_active": true,
"grant_group": null,
"cc_list": "",
"is_requestable": true,
"id": 3,
"is_multiplicable": true,
"name": "needinfo",
"request_group": null,
"is_requesteeble": true,
"sort_key": 0,
"description": "needinfo"
}
],
"attachment": [
{
"description": "Review",
"is_multiplicable": true,
"name": "review",
"is_requesteeble": true,
"request_group": null,
"sort_key": 0,
"cc_list": "",
"grant_group": null,
"is_requestable": true,
"id": 2,
"is_active": true
}
]
},
"default_qa_contact": "",
"description": "This is a test component."
}
],
"is_active": true,
"classification": "Unclassified",
"versions": [
{
"id": 1,
"name": "unspecified",
"is_active": true,
"sort_key": 0
}
],
"description": "This is a test product.",
"has_unconfirmed": true,
"milestones": [
{
"name": "---",
"is_active": true,
"sort_key": 0,
"id": 1
}
],
"name": "TestProduct"
}
]
}
products
(array) Chaque objet contient les éléments suivants :
nom | type | description |
---|---|---|
id | int | Un identifiant (entier) unique identifiant le produit dans cette installation seulement. |
name | string | Le nom du produit. C'est un identifiant unique pour ce produit. |
description | string | Une description du produit, qui peut contenir du code HTML. |
is_active | boolean | Un booléen indiquant si le produit est actif. |
default_milestone | string | Le nom du jalon par défaut pour le produit. |
has_unconfirmed | boolean | Indique si l'état de bogue NON CONFIRMÉ est disponible pour ce produit. |
classification | string | Le nom de catégorie pour le produit. |
components | array | Chaque objet composant contient les éléments décrits dans l'objet composant ci-dessous. |
versions | array | Chaque objet décrit une version et contient les éléments
suivants : name , sort_key et is_active . |
milestones | array | Chaque objet décrit un jalon et contient les éléments
suivants : name , sort_key et is_active . |
Si l'utilisateur essaie d'accéder à un produit qui n'est pas dans la liste des produits accessibles pour l'utilisateur, ou un produit qui n'existe pas, celui-ci est ignoré sans message d'erreur et aucune information sur ce produit n'est renvoyée.
Objet composant :
nom | type | description |
---|---|---|
id | int | Un identifiant (entier) unique identifiant le composant dans cette installation seulement. |
name | string | Le nom du composant. C'est un identifiant unique pour ce composant. |
description | string | Une description du composant qui peut contenir du code HTML. |
default_assigned_to | string | L'identifiant de connexion de l'utilisateur à qui sera par défaut les nouveaux bogues. |
default_qa_contact | string | L'identifiant de connexion de l'utilisateur qui sera défini par défaut comme contact QA pour les nouveaux bogues. Vide si le contact QA n'est pas défini. |
sort_key | int | Les composants, lorsqu'ils sont affichés dans une liste, sont d'abord classés selon cet entier puis par leur nom. |
is_active | boolean | Un booléen indiquant si le composant est actif. Les composants inactifs ne sont pas disponibles pour les nouveaux bogues. |
flag_types | object | Un objet contenant deux éléments bug et
attachment , contenant chacun un tableau d'objets,
chacun décrivant un type d'étiquette. Les éléments type
d'étiquette sont décrits dans l'objet type d'étiquette
ci-dessous. |
Objet type d'étiquette :
nom | type | description |
---|---|---|
id | int | Renvoie l'identifiant du type d'étiquette. |
name | string | Renvoie le nom du type d'étiquette. |
description | string | Renvoie la description du type d'étiquette. |
cc_list | string | Renvoie la liste 'Copie à' concaténée pour le type d'étiquette sous la forme d'une seule chaîne. |
sort_key | int | Renvoie le rang de classement du type d'étiquette. |
is_active | boolean | Renvoie si le type d'étiquette est actif ou pas. Les étiquettes faisant partie d'un type d'étiquette désactivé ne sont pas supprimées. Cela empêche seulement d'y ajouter de nouvelles étiquettes. |
is_requestable | boolean | Renvoie si vous pouvez demander le type d'étiquette donné (c'est-à-dire si l'étiquette '?' est disponible ou pas). |
is_requesteeble | boolean | Renvoie si vous pouvez demander à un utilisateur en particulier ou pas. |
is_multiplicable | boolean | Renvoie si vous pouvez avoir plus d'une étiquette pour le type d'étiquette donné dans un bogue ou un fichier joint donné. |
grant_group | int | L'identifiant du groupe autorisé à approuver/refuser les étiquettes de ce type. Si l'identifiant n'est pas indiqué, tous les utilisateurs sont autorisés à approuver/refuser pour ce type d'étiquette. |
request_group | int | L'identifiant du groupe autorisé à demander l'étiquette si celle-ci est de type 'requestable'. Si l'identifiant n'est pas indiqué, tous les utilisateurs peuvent demander ce type d'étiquette. |
6.1.12.3. Création de produit¶
Ceci permet de créer de nouveaux produits dans Bugzilla.
Requête
POST /rest/product
{
"name" : "AnotherProduct",
"description" : "Another Product",
"classification" : "Unclassified",
"is_open" : false,
"has_unconfirmed" : false,
"version" : "unspecified"
}
Certains paramètres sont obligatoires, sans quoi une erreur est renvoyée. Les paramètres obligatoires sont indiqués en gras.
nom | type | description |
---|---|---|
name | string | Le nom de ce produit. Il doit être unique dans cette installation Bugzilla. |
description | string | Une description de ce produit. Peut contenir du code HTML simple. |
version | string | La version par défaut de ce produit. |
has_unconfirmed | boolean | Permet d'autoriser l'état NON CONFIRMÉ pour les bogues de ce produit. Par défaut : true. |
classification | string | Le nom de la catégorie qui contient ce produit. |
default_milestone | string | Le jalon par défaut pour ce produit. Par défaut : '---'. |
is_open | boolean | true si le produit est ouvert pour la saisie de
bogues. Par défaut : true . |
create_series | boolean | true si vous voulez que des collections puissent
être créées dans les nouveaux graphiques pour ce
produit. Par défaut : true . |
Réponse
{
"id": 20
}
Renvoie un objet contenant l'élément suivant :
nom | type | description |
---|---|---|
id | int | Identifiant du nouveau produit créé. |
6.1.12.4. Mise à jour de produit¶
Ceci permet de mettre à jour un produit dans Bugzilla.
Requête
PUT /rest/product/(id_or_name)
Vous pouvez modifier un produit en passant l'identifiant ou le nom du produit
dans l'URL. Pour modifier plus d'un produit, vous pouvez spécifier des identifiants ou des noms de
produits supplémentaires en utilisant respectivement les paramètres ids
et names
.
{
"ids" : [123],
"name" : "BarName",
"has_unconfirmed" : false
}
Au moins un des éléments ci-dessous doit être indiqué.
nom | type | description |
---|---|---|
id_or_name | mixed | Identifiant (entier) ou nom du produit. |
ids | array | Identifiants numériques des produits à mettre à jour. |
names | array | Noms des produits à mettre à jour. |
Les paramètres suivants spécifient les nouvelles valeurs à définir pour le(s) produit(s) à mettre à jour.
nom | type | description |
---|---|---|
name | string | Le nouveau nom du produit. Si vous essayez de définir ceci pour plus d'un produit, une erreur est renvoyée car les noms de produits doivent être uniques. |
default_milestone | string | Lors de la saisie d'un nouveau bogue, le jalon par défaut si l'utilisateur n'en choisit pas. Doit être un jalon valide pour ce produit. |
description | string | Met à jour la description longue pour ces produits avec cette valeur. |
has_unconfirmed | boolean | Autorise l'état NON CONFIRMÉ pour les bogues dans ces produits. |
is_open | boolean | true si le produit est ouvert pour la saisie de
bogues, false dans le cas contraire. |
Réponse
{
"products" : [
{
"id" : 123,
"changes" : {
"name" : {
"removed" : "FooName",
"added" : "BarName"
},
"has_unconfirmed" : {
"removed" : "1",
"added" : "0"
}
}
}
]
}
products
(array) Objets de modification de produit contenant les éléments suivants :
nom | type | description |
---|---|---|
id | int | L'identifiant du produit mis à jour. |
changes | object | Les modifications effectuées sur ce produit. Les clés sont les noms des champs qui ont été modifiés et les valeurs sont des objets contenant deux éléments :
|
Les booléens seront représentés par des chaînes '1' et '0' pour les valeurs modifiées car ils sont actuellement stockés sous forme de chaîne dans la base de données.
Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.