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.