6.1.10. Types d'étiquette

Cette partie de l'API de Bugzilla permet d'obtenir et de créer des étiquettes de bogues et de fichier joints.

6.1.10.1. Obtention d'un type d'étiquette

Obtient des informations sur les valeurs autorisées pour les types d'étiquettes qui peuvent être définis pour les bogues et les fichiers joints.

Requête

Pour obtenir des informations sur tous les types d'étiquettes pour un produit :

GET /rest/flag_type/(product)

Pour obtenir des informations sur les types d'étiquettes pour un produit et un composant :

GET /rest/flag_type/(product)/(component)
{
  "bug": [
    {
      "is_multiplicable": false,
      "is_requesteeble": false,
      "values": [
        "X",
        "?",
        "+",
        "-"
      ],
      "id": 11,
      "type": "bogue",
      "is_active": true,
      "description": "Bloque la prochaine version",
      "name": "bloqueur"
    },
    {
      "is_requesteeble": false,
      "is_multiplicable": false,
      "is_active": true,
      "description": "Régression trouvée ?",
      "name": "régression",
      "id": 10,
      "type": "bogue",
      "values": [
        "X",
        "?",
        "+",
        "-"
      ]
    },
  ],
  "attachment": [
    {
      "is_requesteeble": true,
      "is_multiplicable": true,
      "name": "revue",
      "is_active": true,
      "description": "Revue du correctif.",
      "type": "fichier joint",
      "id": 1,
      "values": [
        "X",
        "?",
        "+",
        "-"
      ]
    },
    {
      "name": "approbation",
      "description": "Approuver le correctif pour insertion dans l'arbre.",
      "is_active": true,
      "values": [
        "X",
        "?",
        "+",
        "-"
      ],
      "type": "fichier joint",
      "id": 3,
      "is_multiplicable": false,
      "is_requesteeble": false
    }
  ]
}

Vous devez passer un nom de produit et optionnellement un nom de composant. Si le nom du produit ou du composant contient un caractère /, vous devrez encoder l'url.

nom type description
product string Le nom d'un produit valide.
component string En option, un nom de composant valide associé au produit.

Réponse

Un objet contenant deux éléments, bug et attachment. Chaque valeur est un tableau d'objets contenant les éléments suivants :

nom type description
id int Un identifiant entier unique pour ce type d'étiquette.
name string Le nom du type d'étiquette.
type string La cible du type d'étiquette qui est soit bug soit attachment.
description string La description du type d'étiquette.
values array Les valeurs que l'utilisateur peut définir pour ce type d'étiquette.
is_requesteeble boolean Les utilisateurs peuvent demander spécifiquement à d'autres utilisateurs de définir des étiquettes pour ce type.
is_multiplicable boolean Plusieurs étiquettes de ce type peuvent être définies pour le même bogue ou fichier joint.

6.1.10.2. Création d'un type d'étiquette

Crée un nouveau type d'étiquette. Vous devez être authentifié et être dans le groupe editcomponents pour réaliser cette action.

Requête

POST /rest/flag_type
{
  "name" : "feedback",
  "description" : "Ce fichier joint nécessite des retours",
  "inclusions" : [ "WorldControl "],
  "target_type" : "fichier joint"
}

Certains paramètres doivent être définis, sans quoi une erreur sera renvoyée. Les paramètres obligatoires sont indiqués en gras.

nom type description
name string Le nom du nouveau type d'étiquette.
description string Une description pour le type d'étiquette.
target_type string Ce nouveau type est pour un bogue ou un fichier joint.
inclusions array Un tableau de chaînes ou un objet contenant des noms de produits et éventuellement des noms de composants. Si vous fournissez une chaîne, le type de l'étiquette sera affiché dans tous les bogues de ce produit. Si vous fournissez un objet, la clé représente le nom du produit, et la valeur est le composant du produit à inclure.
exclusions array Un tableau de chaîne ou un objet contenant des noms de produits. Ceci utilise le même format que inclusions. Ceci exclura le type pour tous les produits et composants spécifiés.
sortkey int Un nombre entre 1 et 32767 qui sera le rang de classement lors de l'affichage dans une liste aux utilisateurs ; peut être ignoré si vous n'avez pas de préférence. Dans ce cas, il sera classé dans l'ordre alphabétique.
is_active boolean Une étiquette de ce type apparaît dans l'interface utilisateur et peut être définie. Par défaut à true.
is_requestable boolean Les utilisateurs peuvent demander que des étiquettes de ce type soient définies. Par défaut à true.
cc_list array Si le type d'étiquette peut être demandé, vous recevrez des courriels de notification des requêtes. C'est un tableau d'adresses électroniques qui ne sont pas nécessairement des identifiants de connexion de Bugzilla.
is_specifically_requestable boolean Les utilisateurs peuvent demander spécifiquement à d'autres utilisateurs de définir des étiquettes de ce type au lieu de demander à personne en particulier. Par défaut à true.
is_multiplicable boolean Plusieurs étiquettes de ce type peuvent être définies pour le même bogue. Par défaut à true.
grant_group string Le groupe autorisé à approuver/rejeter les demandes pour les étiquettes de ce type (pour autoriser tous les utilisateurs à approuver ou rejeter les demandes, ne sélectionner aucun groupe). Par défaut, aucun groupe.
request_group string Si les étiquettes de ce type peuvent être demandées, le groupe autorisé à les demander (pour autoriser tous les utilisateurs, ne sélectionner aucun groupe). Veuillez noter que ce groupe seul n'a pas d'effet si le groupe autorisé à approuver ou rejeter n'est pas défini ! Par défaut, aucun groupe.

Un exemple pour inclusions et/ou exclusions :

[
  "FooProduct"
]

{
  "BarProduct" : [ "C1", "C3" ],
  "BazProduct" : [ "C7" ]
}

Cette étiquette sera ajoutée à tous les composants de FooProduct, les composants C1 et C3 de BarProduct, et C7 de BazProduct.

Réponse

{
  "id": 13
}
nom type description
flag_id int L'identifiant du nouvel objet type d'étiquette est renvoyé.

6.1.10.3. Mise à jour d'un type d'étiquette

Ceci permet de mettre à jour un type d'étiquette dans Bugzilla. Vous devez être authentifié et être dans le groupe editcomponents pour réaliser cette action.

Requête

PUT /rest/flag_type/(id_or_name)
{
  "ids" : [13],
  "name" : "feedback-new",
  "is_requestable" : false
}

Vous pouvez modifier un seul type d'étiquette en passant l'identifiant ou le nom du type d'étiquette dans l'URL. Pour modifier plusieurs types d'étiquettes, vous pouvez indiquer des identifiants ou des noms de type d'étiquettes supplémentaires en utilisant les paramètres ids ou names respectivement.

Au moins un des éléments ci-dessous doit être spécifié.

nom type description
id_or_name mixed Identifiant entier ou nom du type d'étiquette.
ids array Identifiants numériques des types d'étiquettes que vous voulez mettre à jour.
names array Noms des types d'étiquettes que vous voulez mettre à jour. Si plusieurs types d'étiquettes ont le même nom, ceci les modifiera tous.

Les paramètres suivants spécifient les nouvelles valeurs que vous voulez définir.

nom type description
name string Un nom court identifiant ce type.
description string Une description complète de ce type.
inclusions array Un tableau de chaînes ou un objet contenant des noms de produits et éventuellement des noms de composants. Si vous fournissez une chaîne, le type d'étiquette sera affiché dans tous les bogues de ce produit. Si vous fournissez un objet, la clé représente le nom du produit, et la valeur, les composants du produit à inclure.
exclusions array Un tableau de chaînes ou un objet contenant les noms de produits. Ceci utilise le même format que inclusions. Ceci exclura l'étiquette de tous les produits et composants spécifiés.
sortkey int Un nombre entre 1 et 32767 qui sera le rang de classement lors de l'affichage dans une liste aux utilisateurs ; peut être ignoré si vous n'avez pas de préférence. Dans ce cas, il sera classé dans l'ordre alphabétique.
is_active boolean Une étiquette de ce type apparaît dans l'interface utilisateur et peut être définie.
is_requestable boolean Les utilisateurs peuvent demander que des étiquettes de ce type soient définies.
cc_list array Si le type d'étiquette peut être demandé, vous recevrez des courriels de notification des requêtes. C'est un tableau d'adresses électroniques qui ne sont pas nécessairement des identifiants de connexion de Bugzilla.
is_specifically_requestable boolean Les utilisateurs peuvent demander spécifiquement à d'autres utilisateurs de définir des étiquettes de ce type au lieu de demander à personne en particulier.
is_multiplicable boolean Plusieurs étiquettes de ce type peuvent être définie pour le même bogue.
grant_group string Le groupe autorisé à approuver/rejeter les demandes pour les étiquettes de ce type (pour autoriser tous les utilisateurs à approuver ou rejeter les demandes, ne sélectionner aucun groupe).
request_group string Si les étiquettes de ce type peuvent être demandées, le groupe autorisé à les demander (pour autoriser tous les utilisateurs, ne sélectionner aucun groupe). Veuillez noter que ce groupe seul n'a pas d'effet si le groupe autorisé à approuver ou rejeter n'est pas défini !

Un exemple pour inclusions et/ou exclusions:

[
  "FooProduct",
]

{
  "BarProduct" : [ "C1", "C3" ],
  "BazProduct" : [ "C7" ]
}

Cette étiquette sera ajoutée à tous les composants de FooProduct, les composants C1 et C3 de BarProduct, et C7 de BazProduct.

Réponse

{
  "flagtypes": [
    {
      "name": "feedback-new",
      "changes": {
        "is_requestable": {
          "added": "0",
          "removed": "1"
        },
        "name": {
          "removed": "feedback",
          "added": "feedback-new"
        }
      },
      "id": 13
    }
  ]
}

flagtypes (array) Les objets contiennent les éléments suivants :

nom type description
id int Identifiant du type d'étiquette qui a été mis à jour.
name string Le nom du type d'étiquette qui a été mis à jour.
changes object

Les modifications qui ont été faites sur ce type d'étiquette. 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 modifications pour les valeurs booléennes seront représentées par les chaînes '1' et '0'.


Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.