6.1.11. Groupes

L'API pour créer, modifier et obtenir des informations sur les groupes.

6.1.11.1. Création de groupe

Ceci permet de créer un nouveau groupe dans Bugzilla. Vous devez être authentifié et dans le groupe creategroups pour réaliser cette action.

Requête

POST /rest/group
{
  "name" : "secret-group",
  "description" : "Trop secret pour vous !",
  "is_active" : true
}

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

nom type description
name string Un nom court pour ce groupe. Il doit être unique. Ceci n'apparaît généralement pas dans l'interface utilisateur excepté dans certains endroits.
description string Un nom compréhensible pour ce groupe. Il doit être relativement court. C'est ce qui apparaît dans l'interface utilisateur comme nom du groupe.
user_regexp string Une expression régulière. Tout utilisateur de Bugzilla dont le nom correspond à cette expression régulière sera automatiquement membre de ce groupe.
is_active boolean true si le nouveau groupe peut être utilisé pour les bogues, false si le groupe contient uniquement des utilisateurs et ne sert pas à restreindre l'accès à des bogues.
icon_url string Une URL pointant vers une petite icône utilisée pour identifier le groupe. Cette icône s'affichera à côté des noms d'utilisateur dans divers endroits de Bugzilla s'ils sont membres de ce groupe.

Réponse

{
  "id": 22
}
nom type description
id int Identifiant du nouveau groupe créé.

6.1.11.2. Mise à jour d'un groupe

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

Requête

Pour mettre à jour un groupe en utilisant l'identifiant du groupe ou son nom :

PUT /rest/group/(id_or_name)
{
  "name" : "secret-group",
  "description" : "Trop secret pour vous ! (description mise à jour)",
  "is_active" : false
}

Vous pouvez modifier un groupe en passant son identifiant ou son nom dans l'URL. Pour modifier plusieurs groupes, vous devez indiquer des identifiants ou des noms de groupes additionneles en utilisant les paramètres ids ou names respectivement.

Au moins un des trois éléments suivants doit être spécifié.

nom type description
id_or_name mixed Identifiant ou nom de groupe.
ids array Identifiants des groupes à mettre à jour.
names array Noms des groupes à mettre à jour.

Les paramètres suivants spécifient les nouvelles valeurs que vous voulez définir pour le(s) groupe(s) à mettre à jour.

nom type description
name string Un nouveau nom pour le groupe . Si vous essayez de définir ceci en mettant à jour plusieurs groupes, une erreur sera renvoyée, car les noms de groupe doivent être uniques.
description string Une nouvelle description pour les groupes. C'est ce qui sera visible dans l'interface utilisateur comme nom des groupes.
user_regexp string Une nouvelle expression régulière pour l'adresse électronique. Les adresses correspondant à cette expression régulière seront automatiquement membres de ces groupes.
is_active boolean Définit si le groupe est actif et éligible pour les bogues. true si les bogues peuvent être restreints à ce groupe, sinon false.
icon_url string Une URL pointant vers une icône apparaîtra à côté des noms des utilisateurs membres de ce groupe.

Réponse

{
  "groups": [
    {
      "changes": {
        "description": {
          "added": "Trop secret pour vous ! (description mise à jour)",
          "removed": "Trop secret pour vous !"
        },
        "is_active": {
          "removed": "1",
          "added": "0"
        }
      },
      "id": "22"
    }
  ]
}

groups (array) Objets de modification de groupe, chacun contenant les éléments suivants :

nome type description
id int L'identifiant du groupe mis à jour.
changes object

Les modifications qui sont intervenues dans ce groupe. Les clés sont les noms des champs modifiés et les valeurs sont un objet contenant deux éléments :

  • added: (string) les valeurs qui ont été ajoutées à ce champ, qui peut être une liste de valeurs séparées 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, qui peut être une liste de valeurs séparées par une virgule suivie d'une espace si plusieurs valeurs ont été retirées.

6.1.11.3. Obtention d'un groupe

Renvoie des informations sur les groupes de Bugzilla.

Requête

Pour obtenir des informations sur un identifiant ou un nom de groupe spécifique :

GET /rest/group/(id_or_name)

Vous pouvez aussi obtenir des informations sur plus d'un groupe en utilisant ce qui suit dans votre requête :

GET /rest/group?ids=1&ids=2&ids=3
GET /group?names=ProductOne&names=Product2

Si aucun identifiant ou nom de groupe n'est passé et que vous êtes membre du groupe creategroups ou du groupe editusers, tous les groupes seront renvoyés. Sinon, seuls les groupes pour lesquels vous avez des droits d'édition seront renvoyés.

nom type description
id_or_name mixed Identifiant (entier) ou nom de groupe.
ids array Identifiants (entiers) des groupes.
names array Noms des groupes.
membership boolean Si défini à 1, une liste des identifiants ou noms de groupes passés sera renvoyée.

Réponse

{
  "groups": [
    {
      "membership": [
        {
          "real_name": "Utilisateur Bugzilla",
          "can_login": true,
          "name": "user@bugzilla.org",
          "login_denied_text": "",
          "id": 85,
          "email_enabled": false,
          "email": "user@bugzilla.org"
        },
      ],
      "is_active": true,
      "description": "Groupe de test",
      "user_regexp": "",
      "is_bug_group": true,
      "name": "TestGroup",
      "id": 9
    }
  ]
}

Si l'utilisateur est membre du groupe creategroups, il recevra des informations sur tous les groupes ou les groupes correspondant au critère qui a été passé. Vous devez être membre du groupe creategroups à moins que vous ne recherchiez des informations sur l'appartenance d'un groupe.

Si l'utilisateur n'est pas membre du groupe creategroups, mais est membre du groupe editusers ou a des droits d'édition sur les groupes dont il veut obtenir des informations d'appartenance, les valeurs is_active, is_bug_group et user_regexp ne sont pas fournies.

Le résultat renvoyé est un objet contenant les noms de groupe sous forme de clés ; chaque valeur sera un objet décrivant le groupe et contenant les éléments suivants :

nom type description
id int L'identifiant entier unique qu'utilise Bugzilla pour identifier ce groupe. Même si le nom du groupe change, cet identifiant restera le même.
name string Le nom du groupe.
description string La description du groupe.
is_bug_group int Si ce groupe est destiné aux rapports de bogues ou à des fin d'administration seulement.
user_regexp string Une expression régulière qui permet aux utilisateurs d'être ajoutés à ce groupe si les identifiants correspondent.
is_active int Si le groupe est actif ou pas.
users array Objets utilisateur qui sont membres de ce groupe ; renvoyés seulement si l'utilisateur définit le paramètre membership à 1. Chaque objet utilisateur contient les éléments indiqués ci-dessous.

Objet utilisateur :

nom type description
id int L'identifiant de l'utilisateur.
real_name string Le nom de l'utilisateur.
email string L'adresse électronique de l'utilisateur.
name string L'identifiant de connexion de l'utilisateur. Veuillez noter que dans certaines situations, celui-ci est différent de son adresse électronique.
can_login boolean Une valeur booléenne pour indiquer si l'utilisateur peut se connecter à Bugzilla.
email_enabled boolean Une valeur booléenne pour indiquer si les courriels relatifs aux bogues seront envoyés ou pas.
disabled_text string Un champ texte contenant la raison de la désactivation du compte de l'utilisateur. Si vide, le compte de l'utilisateur est actif, sinon, il est désactivé/fermé.

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