6.1.3. Bogues

L'API REST pour créer, modifier et obtenir les détails d'un bogue.

Cette partie de l'API REST de Bugzilla permet de créer de nouveaux bogues dans Bugzilla et d'obtenir des détails sur les bogues existants.

6.1.3.1. Obtention d'un bogue

Permet d'obtenir des informations sur des bogues spécifiques dans la base de données.

Requête

Pour obtenir des informations sur un bogue spécifique en utilisant son identifiant ou son alias :

GET /rest/bug/(id_or_alias)

Vous pouvez aussi utiliser Recherche sur les bogues pour obtenir plus d'un seul bogue à la fois en spécifiant les identifiants de bogues comme termes de recherche.

GET /rest/bug?id=12434,43421
nom type description
id_or_alias mixed Un identifiant (entier) de bogue ou son alias.

Réponse

{
  "faults": [],
  "bugs": [
    {
      "assigned_to_detail": {
        "id": 2,
        "real_name": "Test User",
        "name": "user@bugzilla.org",
        "email": "user@bugzilla.org"
      },
      "flags": [
        {
          "type_id": 11,
          "modification_date": "2014-09-28T21:03:47Z",
          "name": "blocker",
          "status": "?",
          "id": 2906,
          "setter": "user@bugzilla.org",
          "creation_date": "2014-09-28T21:03:47Z"
        }
      ],
      "resolution": "INVALID",
      "id": 35,
      "qa_contact": "",
      "version": "1.0",
      "status": "RESOLVED",
      "creator": "user@bugzilla.org",
      "cf_drop_down": "---",
      "summary": "test bug",
      "last_change_time": "2014-09-23T19:12:17Z",
      "platform": "All",
      "url": "",
      "classification": "Unclassified",
      "cc_detail": [
        {
          "id": 786,
          "real_name": "Foo Bar",
          "name": "foo@bar.com",
          "email": "foo@bar.com"
        },
      ],
      "priority": "P1",
      "is_confirmed": true,
      "creation_time": "2000-07-25T13:50:04Z",
      "assigned_to": "user@bugzilla.org",
      "flags": [],
      "alias": [],
      "cf_large_text": "",
      "groups": [],
      "op_sys": "All",
      "cf_bug_id": null,
      "depends_on": [],
      "is_cc_accessible": true,
      "is_open": false,
      "cf_qa_list_4": "---",
      "keywords": [],
      "cc": [
        "foo@bar.com",
      ],
      "see_also": [],
      "deadline": null,
      "is_creator_accessible": true,
      "whiteboard": "",
      "dupe_of": null,
      "target_milestone": "---",
      "cf_mulitple_select": [],
      "component": "SaltSprinkler",
      "severity": "critical",
      "cf_date": null,
      "product": "FoodReplicator",
      "creator_detail": {
        "id": 28,
        "real_name": "hello",
        "name": "user@bugzilla.org",
        "email": "namachi@netscape.com"
      },
      "cf_free_text": "",
      "blocks": []
    }
  ]
}

bugs (array) Chaque objet bogue contient des informations sur les bogues ayant des identifiants valides est constitué des éléments suivants :

Ces champs sont renvoyés par défaut ou en spécifiant _default dans include_fields.

nom type description
actual_time double Le nombre total d'heures pris par ce bogue jusqu'à présent. Si vous n'êtes pas membre du groupe 'time-tracking', ce champ ne sezra pas inclus dans les résultats renvoyés.
alias array Les alias uniques de ce bogue. Un tableau vide sera renvoyé si le bogue n'a pas d'alias.
assigned_to string Le nom de connexion de l'utilisateur à qui est assigné le bogue.
assigned_to_detail object Un objet contenant les informations détaillées sur l'utilisateur à qui est assigné le bogue. Pour voir les clés incluses dans cet objet, voir ci-dessous.
blocks array Les identifiants des bogues bloqués par ce bogue.
cc array Les noms de connexion des utilisateurs dans la liste 'Copie à' de ce bogue.
cc_detail array Tableau d'objets contenant les informations détaillées pour chaque utilisateur membre de la liste 'Copie à'. Pour voir les clés incluses dans ces objets, voir ci-dessous.
classification string Le nom de la catégorie à laquelle le bogue appartient.
component string Le nom du composant de ce bogue.
creation_time datetime La date et l'heure de création du bogue.
creator string Le nom de connexion de l'utilisateur qui a créé ce bogue (le rapporteur).
creator_detail object Un objet contenant les informations détaillées sur le rapporteur du bogue. Pour voir les clés incluses dans cet objet, voir ci-dessous.
deadline string La date à laquelle ce bogue doit être corrigé, au format AAAA-MM-JJ.
depends_on array Les identifiants des bogues dont dépend ce bogue.
dupe_of int L'identifiant du bogue dont ce bogue est le doublon. Si ce bogue n'est pas un doublon, ce champ sera nul.
estimated_time double Le nombre d'heures estimé pour résoudre ce bogue. Si vous n'êtes pas membre du groupe 'time-tracking group' ce champ ne sera pas inclus dans le résultat renvoyé.
flags array Un tableau d'objets contenant les informations sur les étiquettes définies pour ce bogue. Chaque étiquette contient les éléments ci-dessous.
groups array Les noms de tous les groupes auxquels appartient ce bogue.
id int L'identifiant numérique unique de ce bogue.
is_cc_accessible boolean Si défini à 'true', ce bogue peut être accédé par les membres de la liste 'Copie à', même s'ils ne sont pas membres des groupes auxquels ce bogue est restreint.
is_confirmed boolean true si le bogue a été confirmé. Habituellement, ceci signifie que le bogue est passé de l'état NON CONFIRMÉ à un autre état ouvert.
is_open boolean true si le bogue est ouvert, false s'il est fermé.
is_creator_accessible boolean Si true, ce bogue peut être accédé par le rapporteur de ce bogue, même s'il n'est pas membre des groupes auxquels ce bogue est restreint.
keywords array Tous les mots-clés de ce bogue.
last_change_time datetime Date de la dernière modification du bogue.
op_sys string Le nom du système d'exploitation avec lequel le bogue a été créé.
platform string Le nom de la plate-forme (matérielle) sur laquelle le bogue a été créé.
priority string La priorité du bogue.
product string Le nom du produit dans lequel se trouve le bogue.
qa_contact string Le nom de connexion du contact QA du bogue.
qa_contact_detail object Un objet contenant les informations détaillées sur le contact QA. Pour voir les clés incluses dans l'objet, voir ci-dessous.
remaining_time double Le nombre d'heures restant avant la fernmeture du bogue. Si vous n'êtes pas membre du groupe 'time-tracking', ce champ ne sera pas renvoyé dans le résultat.
resolution string La résolution du bogue, ou une chaîne vide si le bogue est ouvert.
see_also array Les URL du champ 'Consulter aussi' du bogue.
severity string La gravité du bogue.
status string L'état du bogue.
summary string Le résumé du bogue.
target_milestone string Le jalon dans lequel le bogue est supposé être corrigé ou pour les bogues fermés, le jalon dans lequel ils ont été corrigés.
update_token string Le jeton à passer à la page process_bug.cgi pour mettre à jour ce bogue. Celui-ci change à chaque mise à jour du bogue. Ce champ n'est pas renvoyé pour les utilisateurs qui ne sont pas connectés.
url string A URL that demonstrates the problem described in the bug, or is somehow related to the bug report.
version string La version dans laquelle le bogue a été rapporté.
whiteboard string La valeur du champ 'Tableau blanc' du bogue.

Champs personnalisés :

Chaque champ personnalisé de cette installation sera aussi inclus dans les résultats. La plupart des champs sont renvoyés sous forme de chaînes. Cependant, certains types de champs peuvent renvoyer des valeurs différentes.

Normalement, les champs personnalisés sont renvoyés par défaut sous la même forme que les champs standards ou vous pouvez spécifier seulement les champs personnalisés en utilisant _custom dans include_fields.

Champs supplémentaires :

Ces champs sont seulement renvoyés en spécifiant _extra ou en indiquant le nom du champ dans include_fields.

nom type description
tags array Chasue tableau est un nom de marqueur. Ces marqueurs sont personnels à l'utilisateur connecté et sont différents des marqueurs de commentaires.

Objet utilisateur :

nom type description
id int L'identifiant numérique de l'utilisateur.
real_name string Le nom réel de l'utilisateur, s'il en existe un.
name string Le nom de connexion à Bugzilla de l'utilisateur.
email string L'adresse électronique de l'utilisateur. Il s'agit actuellement de la même valeur que le nom.

Objet étiquette :

nom type description
id int L'identifiant de l'étiquette.
name string Le nom de l'étiquette.
type_id int L'identifiant du type de l'étiquette.
creation_date datetime L'horodatage de la création de cette étiquette.
modification_date datetime L'horodatage de la dernière modification survenue sur l'étiquette.
status string L'état courant de l'étiquette.
setter string Le nom de connexion de l'utilisateur ayant créé ou modifié en dernier l'étiquette.
requestee string Le nom de connexion de l'utilisateur à qui cette étiquette a été demandée. Ce champ n'est renvoyé que si un utilisateur a été indiqué.

Objet champ personnalisé :

Vous pouvez demander à ce que seuls les champs personnalisés soient renvoyés en spécifiant _custom ou le nom du champ dans include_fields.

  • Champs d'identifiant de bogues : (int)
  • Champs à sélection multiple : (array of strings)
  • Champs d'horodatage : (datetime)

6.1.3.2. Historique de bogue

Permet d'obtenir l'historique de bogues particuliers dans la base de données.

Requête

Pour obtenir l'historique d'un identifiant de bogue spécifique :

GET /rest/bug/(id)/history

Pour obtenir l'historique d'un bogue depuis une date spécifique :

GET /rest/bug/(id)/history?new_since=YYYY-MM-DD
nom type description
id mixed Un identifiant (entier) de bogue ou son alias.
new_since datetime Un horodatage pour afficher l'historique à partir de celle-ci.

Réponse

{
  "bugs": [
    {
      "alias": [],
      "history": [
        {
          "when": "2014-09-23T19:12:17Z",
          "who": "user@bugzilla.org",
          "changes": [
            {
              "added": "P1",
              "field_name": "priority",
              "removed": "P2"
            },
            {
              "removed": "blocker",
              "field_name": "severity",
              "added": "critical"
            }
          ]
        },
        {
          "when": "2014-09-28T21:03:47Z",
          "who": "user@bugzilla.org",
          "changes": [
            {
              "added": "blocker?",
              "removed": "",
              "field_name": "flagtypes.name"
            }
          ]
        }
      ],
      "id": 35
    }
  ]
}

bugs (array) Objets de bogue, chacun contenant les éléments suivants :

nom type description
id int L'identifiant numérique du bogue.
alias array Les alias uniques de ce bogue. Un tableau vide sera renvoyé si aucun alias n'a été défini.
history array Un tableau d'objet historique.

Objet historique :

nom type description
when datetime L'horodatage de la modification/ativité sur le bogue.
who string Le nom de connexion de l'utilisateur ayant effectué la modification.
changes array Un tableau d'objets modification contenant tous les changements survenus sur le bogue à ce moment-là (spécifié dans when).

Objet modification :

nom type description
field_name string Le nom du champ de bogue modifié.
removed string La valeur précédente du champ.
added string La nouvelle valeur du champ.
attachment_id int L'identifiant du fichier joint qui a été modifié. Ceci n'apparaît que si la modification a été faite sur un fichier joint, sinon, attachment_id ne sera pas présent dans cet objet.

6.1.3.3. Recherche sur les bogues

Permet d'effectuer des recherches sur les bogues sur la base de critères particuliers.

Requête

Pour rechercher des bogues :

GET /rest/bug

À moins qu'il n'en soit spécifié autrement dans la description d'un paramètre, les bogues sont renvoyés s'ils correspondent exactement au critère spécifié dans ces paramètres. Ce qui veut dire que la recherche n'est pas faite sur des parties de chaînes --si un bogue se trouve dans le produit 'Widgets' et que vous recherchez des bogues avec 'Widg', vous n'obtiendrez aucun résultat.

Les critères suivent la logique ET. C'est-à-dire que seuls les bogues correspondant à tous les critères seront renvoyés. Les bogues ne correspondant qu'à un seul des critères ne seront pas renvoyés.

Chaque paramètre peut être unique ou une liste. Si vous passez un tableau, cela signifie de renvoyer les bogues avec au moins une des valeurs. Par exemple, si vous voulez obtenir les bogues des produits 'Foo' ou 'Bar', vous devez passer :

GET /rest/bug?product=Foo&product=Bar

Certaines installations peuvent être sensibles à la casse, ceci dépendant du système de base de données utilisé. La plupart du temps cependant, Bugzilla n'est pas sensible à la casse pour les arguments passés (car MySQL est le moteur de base de données le plus utilisé avec Bugzilla et qu'il n'est pas sensible à la casse).

En plus des champs listés ci-dessous, vous pouvez aussi utiliser des critères similaires à ceux utilisés dans la recherche avancée dans l'interface utilisateur de Bugzilla. Ceci inclut des champs spécifiés par Search by Change History et Custom Search. Le moyen le plus simple de déterminer le nom de ces champs et le format attendu par Bugzilla est de construire votre requête dans l'interface de recherche avancée de Bugzilla, de l'exécuter et d'utiliser les paramètres de requête dans l'URL dans votre navigateur Web.

nom type description
alias array Les alias uniques de ce bogue. Un tableau vide sera renvoyé si aucun alias n'a été défini.
assigned_to string Le nom de connexion de l'utilisateur à qui le bogue a été assigné.
component string Le nom du composant dans lequel se trouve le bogue. S'il existe plusieurs composants avec le même nom, et que vous recherchez ce nom, les bogues dans tous les composants seront renvoyés. Si vous ne voulez pas cela, assurez-vous d'indiquer aussi l'argument product.
creation_time datetime Recherche les bogues créés à partir de cet horodatage. Ne peut être un tableau.
creator string Le nom de connexion de l'utilisateur qui a créé le bogue. Vous pouvez aussi passer cet argument avec le nom reporter, pour des raisons de compatibilité avec les anciennes versions de Bugzilla.
id int L'identifiant numérique du bogue.
last_change_time datetime Recherche les bogues modifiés à partir de cet horodatage. Ne peut être un tableau.
limit int Limite le nombre de résultats renvoyés. Si la limite est supérieure à zéro et à la limite fixée par l'administrateur, alors la limite maximum sera utilisée. Si vos définissez la limite à zéro, alors tous les résultats correspondant seront renvoyés.
offset int Utilisé en conjonction avec l'argument limit, offset définit la position de départ de la recherche. Par exemple, si une recherche renvoie 100 bogues, définir limit à 10 et offset à 10 renverra les bogues 11 à 20 sur les 100.
op_sys string Le champ système d'exploitation d'un bogue.
platform string Le champ plate-forme (matérielle) du bogue.
priority string Le champ priorité du bogue.
product string Le nom du produit dans lequel se trouve le bogue.
resolution string La résolution en cours --définie seulement si un bogue est fermé. Vous pouvez rechercher les bogues ouverts en recherchant les bogues ayant une résolution vide.
severity string Le champ gravité d'un bogue.
status string L'état courant d'un bogue (n'inclut pas sa résolution si elle existe, qui est un champ séparé ci-dessus).
summary string Recherche des parties de chaînes dans le champ résumé des bogues. Si vous spécifiez un tableau, alors les bogues dont les résumés correspondent à au moins une des chaînes passées seront renvoyés. Contrairement à l'interface utilisateur de Bugzilla, les chaînes ne sont pas séparées. Donc, rechercher foo bar renverra 'This is a foo bar' mais pas 'This foo is a bar'. ['foo', 'bar'] cependant, renverra aussi le deuxième élément.
tags string Recherche un bogue avec le marqueur indiqué. Si vous spécifiez un tableau, alors les bogues correspondant à au moins un des marqueurs seront renvoyés. Les marqueurs sont personnels à l'utilisateur connecté.
target_milestone string Le champ jalon cible d'un bogue. Même si cette installation de Bugzilla n'a pas le champ jalon cible activé, vous pouvez quand même rechercher des bogues par jalon cible. Cependant, dans ce cas, la plupart des bogues n'auront pas de jalon cible défini. La valeur par défaut est '---' quand le champ n'est pas activé.
qa_contact string Le nom de connexion du contact QA. Même si cette installation de Bugzilla n'a pas le champ contact QA activé, vous pouvez quand même rechercher des bogues par contact QA. Cependant, dans ce cas, la plupart des bogues n'auront pas de contact QA défini.
url string Le champ URL d'un bogue.
version string Le champ version d'un bogue.
whiteboard string Recherche une partie de chaîne dans le champ tableau blanc des bogues. Fonctionne comme le champ résumé décrit ci-dessus.
quicksearch string Recherche des bogues en utilisant la syntaxe de recherche rapide.

Réponse

Identique à Obtention d'un bogue.

6.1.3.4. Création de bogue

Ceci permet de créer de nouveaux bogues dans Bugzilla. Si vous spécifiez des champs invalides, une erreur sera renvoyée en indiquant le champ invalide. Si vous spécifiez des champs pour lesquels vous n'avez pas d'autorisation, leur valeur par défaut sera renvoyée ou ils seront ignorés.

Actuellement, tous les éléments définissables sur la page enter_bug.cgi ne peuvent pas être invoqués ici.

L'interface de webservice peut vous autoriser à définir des arguments autres que ceux indiqués ici, mais tout ce qui n'est pas documenté ici peut changer à l'avenir.

Requête

Pour créer un nouveau bogue dans Bugzilla.

POST /rest/bug
{
  "product" : "TestProduct",
  "component" : "TestComponent",
  "version" : "unspecified",
  "summary" : "'This is a test bug - please disregard",
  "alias" : "SomeAlias",
  "op_sys" : "All",
  "priority" : "P1",
  "rep_platform" : "All"
}

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

Certains paramètres peuvent avoir des valeurs par défaut définies dans Bugzilla par l'administrateur. Si ces paramètres ont des valeurs par défaut, vous pouvez les omettre. Ces paramètres sont indiqués (défaut).

Les utilisateurs voulant interagir avec plusieurs installations Bugzilla devraient toujours définir les paramètres obligatoires et ceux marqués (défaut) car ces valeurs peuvent varier d'une installation à l'autre et cette méthode renverra des messages d'erreur si vous ne les indiquez pas.

nom type description
product string Le nom du produit dans lequel le bogue a été créé.
component string Le nom du composant du produit ci-dessus.
summary string Une description courte du bogue.
version string Une version du produit ci-dessus ; la version dans laquelle le bogue a été trouvé.
description string (défaut) La description initiale pour ce bogue. Certaines installations nécessitent que ceci ne soit pas vide.
op_sys string (défaut) Le système d'exploitation sur lequel le bogue a été découvert.
platform string (défaut) La plate-forme matérielle sur laquelle le bogue a été découvert.
priority string (défaut) L'ordre de priorité du bogue.
severity string (défaut) La gravité du bogue.
alias array Un ou plusieurs alias courts pour le bogue qui peuvent être utilisés au lieu de son numéro. Doit être unique toute cette installation Bugzilla.
assigned_to string L'utilisateur à qui assigner ce bogue si vous ne voulez pas qu'il soit assigner au responsable du composant.
cc array Un tableau de nom d'utilisateurs en copie du bogue.
comment_is_private boolean Si défini à, le commentaire est confidentiel, sinon il est public.
groups array Un tableau de nom de groupes auxquels affecter ce bogue. Vous pouvez voir les noms de groupes valides sur l'onglet permissions de l'écran de préférences. Si vous êtes administrateur, dans le panneau des groupes. Si vous ne spécifiez pas cet argument, le bogue sera ajouté à tous les groupes définis par défaut pour ce produit. (Si vous voulez éviter cela, vous devez spécifier groups comme un tableau vide).
qa_contact string Si cette installation a les contacts QA activés, vous pouvez définir le contact QA ici si vous ne voulez pas utiliser le contact QA par défaut du composant.
status string L'état de départ de ce bogue. Seuls certains états sont autorisés lors de la création de bogues.
resolution string Si vous créez un bogue fermé, vous devez indiquer sa résolution. Vous ne pouvez cependant actuellement utiliser la résolution DOUBLON pour les nouveaux bogues. Pour cela, vous devez utiliser Mise à jour de bogue.
target_milestone string Un jalon cible valide pour ce produit.
flags array Des objets étiquettes à ajouter au bogue. Le format de l'objet est décrit ci-dessous.

Objet étiquette :

Pour créer une étiquette, au moins status et type_id ou name doivent être fournis. Optionnellement, un utilisateur peut être indiqué si le type de l'étiquette le permet.

nom type description
name string Le nom du type de l'étiquette.
type_id int L'identifiant interne du type de l'étiquette.
status string Le nouvel état de l'étiquette (c-à-d. "?", "+", "-" ou "X" pour laisser vide).
requestee string Le nom de connexion de l'utilisateur à qui est demandée l'étiquette, si le type de l'étiquette le permet.

En plus des paramètres ci-dessus, si votre installation a des champs personnalisés, vous pouvez les définir en passant le nom du champ et sa valeur.

Réponse

{
  "id" : 12345
}
nom type description
id int L'identifiant du bogue créé.

6.1.3.5. Mise à jour de bogue

Permet de mettre à jour les champs d'un bogue. Envoie automatiquement des courriels sur les changements survenus.

Requête

Pour mettre à jour les champs d'un bogue existant.

PUT /rest/bug/(id_or_alias)
{
  "ids" : [35],
  "status" : "IN_PROGRESS",
  "keywords" : {
    "add" : ["funny", "stupid"]
  }
}

Les paramètres à inclure dans le corps du PUT et le format des valeurs renvoyées, sont les mêmes que ci-dessous. Vous pouvez spécifier l'identifiant ou l'alias du bogue à mettre à jour dans l'URL ou dans le paramètre ids. Vous pouvez utiliser les deux et ils seront combinés de sorte que vous pouvez modifier plus d'un bogue à la fois.

nom type description
id_or_alias mixed Un identifiant (entier) de bogue ou son alias.
ids array Les identifiants ou alias des bogues que vous voulez modifier.

Les champs suivants spécifient les valeurs que vous voulez définir sur les bogues à mettre à jour.

nom type description
alias object

Spécifie les alias d'un bogue qui peuvent être utilisés au lieu de son identifiant numérique pour y accéder. L'objet peut contenir les éléments suivants :

  • add (array) Alias à ajouter pour ce champ.
  • remove (array) Alias à retirer de ce champ. Si les alias n'existent pas dans le champ, ils seront ignorés.
  • set (array) Un ensemble d'alias à définir pour ce champ, écrasant la valeur actuelle. Si vous spécifiez set, puis add et remove, ceci sera ignoré.

Vous ne pouvez définir ceci que si vous modifiez un seul bogue. S'il y a plusieurs bogues indiqués dans ids, passer une valeur pour alias provoquera une erreur.

Pour des raisons de compatibilité, vous pouvez aussi spécifier une seule chaîne. Ce sera traité de la même façon que si vous spécifiez un objet comme ci-dessus.

assigned_to string Le nom de connexion complet de l'utilisateur à qui ce bogue est assigné.
blocks object (Identique à depends_on ci-dessous)
depends_on object

Spécifie les bogues bloqués par ce bogue ou dont dépend ce bogue, respectivement. Pour cela, vous devez passer un objet comme valeur. Cet objet peut contenir les éléments suivants :

  • add (array) Identifiants de bogues à ajouter à ce champ.
  • remove (array) Identifiants de bogues à retirer de ce champ. Si ceux-ci ne sont pas présents dans le champ, ils seront ignorés.
  • set (array of) Un ensemble d'identifiants de bogues à définir pour ce champ, écrasant la valeur actuelle. Si vous spécifiez set, puis add et remove, ceci sera ignoré.
cc object

Les utilisateurs dans la liste 'Copie à'. Pour modifier ce champ, vous devez passer un objet qui peut contenir les éléments suivants :

  • add (array) Les noms d'utilisateurs à ajouter à la liste 'Copie à'. Ce doit être leur nom d'utilisateur complet et une erreur sera renvoyée si un nom est invalide.
  • remove (array) Les noms d'utilisateurs à retirer de la liste 'Copie à'. Ce doit être leur nom d'utilisateur complet et une erreur sera renvoyée si un nom est invalide.
is_cc_accessible boolean Si la liste des utilisateurs de la liste 'Copie à' sont autorisés à accéder au bogue, même s'ils ne sont pas dans un groupe qui peut normalement accéder au bogue.
comment object

Un commentaire sur la modification. L'objet peut contenir les éléments suivants :

  • body (string) Le texte du commentaire. Pour des raisons de compatibilité avec les paramètres de Création de commentaires, vous pouvez aussi appeler ce champ comment si vous le voulez.
  • is_private (boolean) Si le commentaire est confidentiel. Si vous essayez de rendre un commentaire confidentiel et que vous n'avez pas les permissions pour le faire, une erreur sera renvoyée.
comment_is_private object

Ceci permet de mettre à jour les commentaires confidentiels déjà présents dans le bogue. C'est un objet dont les clés sont l'identifiant int des commentaires (pas leur numéro d'ordre dans le bogue comme #1, #2, #3, mais leur identifiant unique comme celui renvoyé par Obtention des commentaires et la valeur est un boolean qui indique si un commentaire doit devenir confidentiel (true) ou public (false).

Les identifiants de commentaires doivent être valides pour le bogue mis à jour. C'est pourquoi il n'est pas pratique d'utiliser ceci lors de la mise à jour de plusieurs bogues en même temps, car un identifiant de commentaire ne peut être valide pour plusieurs bogues.

component string Le composant dans lequel se trouve le bogue.
deadline date L'échéance pour laquelle le bogue doit être corrigé, au format AAAA-MM-JJ.
dupe_of int Le bogue dont ce bogue est le doublon. Si vous coulez marquer un bogue comme doublon, le moyen le plus sûr est de définir cette valeur et ne pas définir les champs status ou resolution. Ils seront automatiquement définis par Bugzilla aux valeurs appropriées pour les doublons.
estimated_time double La durée totale estimée en heures pour corriger le bogue. Il s'agit de la durée totale estimée et pas le temps restant pour le corriger.
flags array Un tableau d'objets de modification d'étiquettes. Les éléments nécessaires sont décrits ci-dessous.
groups object

Les groupes dans lesquels se trouve le bogue. Pour modifier ce champ, vous devez passer un objet contenant les éléments suivants :

  • add (array) Les noms des groupes à ajouter. Passer un nom de groupe invalide ou un groupe pour lequel vous n'avez pas de droits d'édition provoquera une erreur.
  • remove (array) Les noms des groupes à retirer. Passer un nom de groupe invalide ou un groupe pour lequel vous n'avez pas de droits d'édition provoquera une erreur.
keywords object

Mots-clés du bogue. Pour modifier ce champ, vous devez passer un objet qui peut contenir les éléments suivants :

  • add (array) Les noms des mots-clés à ajouter au bogue. Passer un nom de mot-clé invalide provoquera une erreur.
  • remove (array) Les noms des mots-clés à retirer du bogue. Passer un nom de mot-clé invalide provoquera une erreur.
  • set (array) Un ensemble de mots-clés à définir pour ce champ du bogue. Passer un nom de mot-clé invalide provoquera une erreur. Spécifier set prend le dessus sur add et remove.
op_sys string Le champ système d'exploitation du bogue.
platform string La plate-forme matérielle du bogue.
priority string La priorité du bogue.
product string

Le nom du produit dans lequel se trouve le bogue. Si vous modifiez ceci, vous voudrez aussi sûrement modifier target_milestone, version et component, car ceux-ci ont des valeurs différentes selon le produit.

Si vous ne pouvez pas modifier le champ target_milestone, il sera réinitialisé à la valeur par défaut pour le produit, quand vous déplacez un bogue vers un nouveau produit.

Vous pourriez aussi souhaiter ajouter ou supprimer des groupes, car ceux-ci varient selon les produits. Les groupes qui ne sont pas valides dans le nouveau produit sont automatiquement supprimés et les groupes obligatoires rajoutés. Il n'y a pas d'autres changements automatiques.

Note

Les utilisateurs peuvent déplacer les bogues dans un nouveau produit s'ils ont les permissions dans le nouveau produit.

qa_contact string Le nom d'utilisateur complet du contact QA pour le bogue.
is_creator_accessible boolean Si le rapporteur du bogue est autorisé à accéder au bogue même s'il n'est pas membre d'un groupe qui le permet.
remaining_time double Durée restante en heures pour corriger le bogue. Si vous définissez work_time mais pas explicitement remaining_time, alors work_time sera déduit de remaining_time.
reset_assigned_to boolean Si défini à true, le champ assigned_to sera réinitialisé à la valeur par défaut du composant dans lequel se trouve le bogue. (Si vous avez défini le composant en même temps que ceci, alors le composant utilisé sera le nouveau composant et pas l'ancien).
reset_qa_contact boolean Si défini à true, le champ qa_contact sera réinitialisé à la valeur par défaut du composant dans lequel se trouve le bogue. (Si vous avez défini le composant en même temps que ceci, alors le composant utilisé sera le nouveau composant et pas l'ancien).
resolution string

La résolution actuelle. Ne peut être définie que si vous fermez un bogue ou si vous modifiez un bogue déjà fermé. Essayer de définir la résolution à une quelconque valeur (même une chaîne vide) sur un bogue ouvert provoquera une erreur.

Note

Si vous changez le champ status pour un état ouvert, le champ résolution sera automatiquement effacé, de sorte que vous n'aurez pas à le faire manuellement.

see_also object

Le champ Consulter aussi du bogue, indiquant les URL d'autres logiciels de suivis de bogues. Pour modifier ce champ, vous devez passer un objet qui peut contenir les éléments suivants:

  • add (array) Les URL à ajouter au champ. Chaque URL doit être un URL valide vers un logiciel de suivi de bogue, sans quoi une erreur sera renvoyée.
  • remove (array) Les URL à retirer du champ. les URL invalides seront ignorées.
severity string La gravité du bogue.
status string L'état que vous voulez définir pour le bogue. Si un bogue passe de l'état ouvert à fermé, vous devrez aussi spécifier resolution.
summary string Le résumé du bogue.
target_milestone string Le jalon cible du bogue.
url string Le champ URL du bogue.
version string Le champ version du bogue.
whiteboard string Le champ tableau blanc du bogue.
work_time double Le nombre d'heures passées sur ce bogue. Si vous définissez work_time mais pas explicitement remaining_time, alors work_time sera déduit de remaining_time.

Vous pouvez aussi définir la valeur de tout champ personnalisé en passant son nom en paramètre et la valeur à définir pour le champ. Pour les champs à sélection multiple, la valeur doit être un tableau de chaînes.

Objet de modification d'étiquette :

Les valeurs suivantes peuvent être spécifiées. Doivent être spécifiés au moins status et l'un paramètres suivants : type_id, id ou name. Si type_id ou name correspond à une unique étiquette, l'étiquette sera mise à jour à moins que new ne soit spécifié.

nom type description
name string Le nom de l'étiquette qui sera créée ou mise à jour.
type_id int L'identifiant interne du type de l'étiquette qui sera créée ou mise à jour. Vous devez spécifier type_id s'il existe plus d'un type d'étiquette portant le même nom.
status string Le nouvel état des étiquettes (c-à-d. "?", "+", "-" ou "X" pour aucun état).
requestee string Le nom de l'utilisateur à qui est demandée l'étiquette si le type de l'étiquette le permet.
id int Identifiant de l'étiquette à mettre à jour. Vous devez spécifier id si plus d'une étiquette porte le même nom.
new boolean Définir à true si vous voulez créer une nouvelle étiquette.

Réponse

{
  "bugs" : [
    {
      "alias" : [],
      "changes" : {
        "keywords" : {
          "added" : "funny, stupid",
          "removed" : ""
        },
          "status" : {
            "added" : "IN_PROGRESS",
            "removed" : "CONFIRMED"
        }
      },
      "id" : 35,
      "last_change_time" : "2014-09-29T14:25:35Z"
    }
  ]
}

bugs (array) Tableau d'objets contenant les éléments suivants :

nom type description
id int L'identifiant du bogue mis à jour.
alias array Les alias du bogue mis à jour, s'il en a.
last_change_time datetime L'horodatage de cette mise à jour pour ce bogue. Si aucune mise à jour n'est intervenue (c'est-à-dire si aucun champ n'a été modifié et aucun commentaire ajouté) ceci sera l'horodatage de la dernière modification.
changes object

Les modifications effectuées sur ce bogues. 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) Les valeurs qui ont été ajoutées à ce champ. Peut être une liste séparée par une virgule suivie d'une espace si plusieurs valeurs ont été ajoutées.
  • removed (string) Les valeurs qui ont été retirées de ce champ. Peut être une liste séparée par une virgule suivie d'une espace si plusieurs valeurs ont été retirées.

Actuellement, certains champs ne sont pas tracés dans les modifications : comment, comment_is_private et work_time. Ceci signifie qu'ils n'apparaîtront pas dans les résultats renvoyés même s'ils ont été mis à jour correctement. Ceci peut changer dans une future version de Bugzilla.


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