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 :
|
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.