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 :

  • added: (string) La nouvelle valeur pour ce champ.

  • removed: (string) La valeur précédente pour ce champ.

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.