6.1.13. Utilisateurs
Cette partie de l’API de Bugzilla permet de créer des comptes utilisateurs, d’obtenir des informations sur ces comptes et de vous connecter ou déconnecter en utilisant un compte existant.
6.1.13.1. Connexion
Se connecter avec un identifiant utilisateur et un mot de passe est nécessaire pour beaucoup
d’installations Bugzilla, pour rechercher des bogues confidentiels, créer de nouveaux bogues, etc. Cette
méthode permet de récupérer un jeton qui peut être utilisé pour l’authentification pour les
appels d’API suivants. Sinon, vous devrez passer votre login
et
password
pour chaque appel.
Cette méthode sera retirée ultérieurement en faveur de l’utilisation de clés d’API.
Requête
GET /rest/login?login=foo@example.com&password=toosecrettoshow
nom |
type |
description |
---|---|---|
login |
string |
L’identifiant de connexion de l’utilisateur. |
password |
string |
Le mot de passe de l’utilisateur. |
restrict_login |
boolean |
Si défini à true, le jeton renvoyé par cette méthode sera seulement valide à partir de l’adresse IP qui a appelé cette méthode. |
Réponse
{
"token": "786-OLaWfBisMY",
"id": 786
}
nom |
type |
description |
---|---|---|
id |
int |
Identifiant numérique de l’utilisateur qui s’est connecté. |
token |
string |
Jeton qui peut être passé dans les paramètres pour authentification dans d’autres appels. Le jeton peut être envoyé avec toute future requête au Webservice, pour la durée de la session, c’est-à-dire, jusqu’à ce que Déconnexion soit appelé. |
6.1.13.2. Déconnexion
Déconnecte l’utilisateur. Basiquement, cela invalide le jeton fourni de sorte qu’il ne puisse plus être réutilisé. Ne fait rien si le jeton n’est pas en cours d’utilisation. Cela supprimera également tout jeton d’authentification que le client pourrait avoir stocké.
Requête
GET /rest/logout?token=1234-VWvO51X69r
nom |
type |
description |
---|---|---|
token |
string |
Le jeton de l’utilisateur utilisé pour l’authentification. |
6.1.13.3. Connexion valide
Cette méthode vérifie si les cookies d’un client ou le jeton en cours est encore valide ou a expiré. Un nom d’utilisateur valide correspondant doit être fourni également.
Requête
GET /rest/valid_login?login=foo@example.com&token=1234-VWvO51X69r
nom |
type |
description |
---|---|---|
login |
string |
L’identifiant de connexion qui correspond aux cookies ou au jeton fourni. |
token |
string |
Jeton de connexion persistent actuellement utilisé pour l’authentification. |
Réponse
Renvoie true/false si le jeton est valide pour l’identifiant de connexion fourni.
6.1.13.4. Création d’utilisateur
Crée un compte utilisateur directement dans Bugzilla, avec mot de passe, etc. Plutôt que ceci, il est préférable d’utiliser Offre de compte par courriel quand c’est possible, car cela permet de s’assurer que les adresses électroniques spécifiées peuvent effectivement recevoir un courriel. Cette fonction n’effectue pas cette vérification. Vous devez être authentifié et dans le groupe editusers pour réaliser cette action.
Requête
POST /rest/user
{
"email" : "user@bugzilla.org",
"full_name" : "Test User",
"password" : "K16ldRr922I1"
}
nom |
type |
description |
---|---|---|
string |
L’adresse électronique du nouvel utilisateur. |
|
full_name |
string |
Le nom complet de l’utilisateur. Sera mis à blanc si non spécifié. |
password |
string |
Le mot de passe pour le nouveau compte utilisateur, en texte brut. Les espaces en début et en fin du mot de passe seront retirés. Si vide ou non spécifié, le nouveau compte existera dans Bugzilla mais ne sera pas autorisé à se connecter en utilisant l’authentification par la base de données jusqu’à ce qu’un mot de passe soit défini par l’utilisateur (en réinitialisant le mot de passe) ou par l’administrateur. |
Réponse
{
"id": 58707
}
nom |
type |
desciption |
---|---|---|
id |
int |
L’identifiant numérique de l’utilisateur qui a été créé. |
6.1.13.5. Mise à jour d’un utilisateur
Met à jour un compte utilisateur existant dans Bugzilla. Vous devez être authentifié et dans le groupe editusers pour réaliser cette action.
Requête
PUT /rest/user/(id_or_name)
Vous pouvez modifier un unique utilisateur en passant le numéro d’identifiant ou le nom de connexion de l’utilisateur
dans l’URL. Pour modifier plus d’un utilisateur, vous devez indiquer les numéros d’identifiants supplémentaires ou les
noms de connexion en utilisant respectivement les paramètres ids
ou names
.
nom |
type |
description |
---|---|---|
id_or_name |
mixed |
Le numéro d’identifiant ou le nom de connexion de l’utilisateur à modifier. |
ids |
array |
Les numéros d’identifiants supplémentaires des utilisateurs à modifier. |
names |
array |
Les noms de connexion supplémentaires des utilisateurs à modifier. |
full_name |
string |
Le nouveau nom de l’utilisateur. |
string |
L’adresse électronique de l’utilisateur. Cette adresse est utilisée pour se connecter à Bugzilla. Veuillez noter que vous ne pouvez modifier qu’un utilisateur à la fois lors d’un changement de nom ou d’adresse électronique. (Une erreur sera renvoyée si vous essayez de mettre à jour ce champ pour plusieurs utilisateurs en même temps). |
|
password |
string |
Le mot de passe de l’utilisateur. |
email_enabled |
boolean |
Une valeur booléenne pour activer/désactiver l’envoi de courriel de bogue à l’utilisateur. |
login_denied_text |
string |
Un champ texte contenant la raison de l’interdiction de se connecter à Bugzilla d’un utilisateur. Si vide, alors le compte utilisateur est actif ; sinon, il est fermé/désactivé |
groups |
object |
Les groupes dont cet utilisateur est directement membre. Pour les définir, vous devez passer un objet comme valeur. Les éléments de l’objet sont décrits dans mise à jour d’objets groupes ci-dessous. |
bless_groups |
object |
Idem que pour |
Mise à jour d’objet groupes :
nom |
type |
description |
---|---|---|
add |
array |
Les identifiants ou les noms de groupes auxquels l’utilisateur doit être ajouté. |
remove |
array |
Les identifiants ou les noms de groupes desquels l’utilisateur doit être retiré. |
set |
array |
Entiers ou chaînes qui sont un ensemble exact d’identifiants ou de noms de groupes dont l’utilisateur doit être membre. Ceci ne retire pas de groupes à l’utilisateur si la personne effectuant la modification n’a pas les privilèges appropriés pour le groupe. |
Si vous spécifiez set
, alors add
et remove
seront ignorés. Un groupe présent
à la fois dans la liste add
et remove
sera ajouté. Indiquer un groupe pour lequel
l’utilisateur effectuant la modification n’a pas les privilèges nécessaires générera
une erreur.
Réponse
utilisateurs : (tableau) Liste des changements sur des objets utilisateurs contenant les éléments suivants :
nom |
type |
description |
---|---|---|
id |
int |
L’identifiant de l’utilisateur mis à jour. |
changes |
object |
Les modifications effectuées sur cet utilisateur. Les clés sont les noms des champs modifiés et les valeurs sont des objets contenant deux éléments :
|
6.1.13.6. Obtention d’un utilisateur
Obtient les informations sur les comptes utilisateurs de Bugzilla.
Requête
Pour obtenir des informations sur un utilisateur de Bugzilla :
GET /rest/user/(id_or_name)
Pour obtenir plusieurs identifiants ou noms d’utilisateurs :
GET /rest/user?names=foo@bar.com&name=test@bugzilla.org
GET /rest/user?ids=123&ids=321
Pour obtenir un utilisateur correspondant à une chaîne de recherche :
GET /rest/user?match=foo
Pour obtenir un utilisateur en utilisant une valeur d’identifiant ou en utilisant match
, vous devez
être authentifié.
nom |
type |
description |
---|---|---|
id_or_name |
mixed |
Un identifiant (entier) d’utilisateur ou le nom de connexion de l’utilisateur. |
ids |
array |
Identifiants (entiers) d’utilisateurs. Les utilisateurs non connectés ne peuvent pas passer ce paramètre à cette fonction. S’ils le font, ils obtiendront une erreur. Les utilisateurs connectés obtiendront une erreur s’ils spécifient un identifiant d’utilisateur qu’ils ne sont pas autorisés à voir. |
names |
array |
Noms de connexion. |
match |
array |
Ceci fonctionne comme la “correspondance d’utilisateurs” dans Bugzilla. Seront renvoyés les noms réels ou les noms de connexion contenant une des chaînes spécifiées. Les utilisateurs que vous n’êtes pas autorisé à voir ne seront pas présents dans la liste renvoyée. La plupart des installations ont une limite pour le nombre de correspondances renvoyées pour chaque chaîne ; par défaut, cette valeur est de 1000 mais peut être modifiée par l’administrateur de Bugzilla. Les utilisateurs non connectés ne peuvent pas utiliser cet argument et une erreur sera renvoyée s’ils essaient (ceci est mis en place pour rendre plus difficile la collecte d’adresses électroniques par les spammeurs et pour respecter les restrictions de visibilité des utilisateurs qui sont mises en œuvre dans certaines installations de Bugzilla). |
limit |
int |
Limite le nombre de correspondances utilisateur à
l’aide du paramètre |
group_ids |
array |
Identifiants numériques des groupes dans lesquels un utilisateur peut être. |
groups |
array |
Noms des groupes dans lesquels un utilisateur peut
être. Si |
include_disabled |
boolean |
Par défaut, en utilisant le paramètre |
Réponse
users: (array) Chaque objet décrit un utilisateur et contient les éléments suivants :
nom |
type |
description |
---|---|---|
id |
int |
L’identifiant (entier) unique utilisé par Bugzilla pour représenter cet utilisateur. Même si le nom de l’utilisateur change, ceci ne sera pas modifié. |
real_name |
string |
Le nom réel de l’utilisateur. Peut être vide. |
string |
L’adresse électronique de l’utilisateur. |
|
name |
string |
Le nom de connexion de l’utilisateur. Veuillez noter que dans certaines situations ceci sera différent de son adresse électronique. |
can_login |
boolean |
Une valeur booléenne indiquant si l’utilisateur peut se connecter à Bugzilla. |
email_enabled |
boolean |
Une valeur booléenne indiquant si les courriels relatifs aux bogues seront envoyés à l’utilisateur. |
login_denied_text |
string |
Un champ texte contenant la raison du refus de connexion d’un utilisateur à Bugzilla. Si ce champ est vide, le compte utilisateur est actif ; sinon, celui-ci est désactivé/fermé. |
groups |
array |
Les groupes dont l’utilisateur est membre. Si l’utilisateur connecté interroge son propre compte ou s’il est membre du groupe “editusers”, le tableau contiendra tous les groupes dont l »utilisateur est membre. Sinon, le tableau ne contiendra que les groupes pour lesquels l’utilisateur a les droits d’édition. Chaque objet décrit le groupe et contient les éléments décrits dans l’objet groupe ci-dessous. |
saved_searches |
array |
Recherches enregistrées de l’utilisateur, chacune contenant les éléments de l’objet recherche décrit ci-dessous. |
saved_reports |
array |
Rapports enregistrés de l’utilisateur, chacun contenant les éléments de l’objet recherche décrit ci-dessous. |
Objet groupe :
nom |
type |
description |
---|---|---|
id |
int |
L’identifiant du groupe |
name |
string |
Le nom du groupe |
description |
string |
La description du groupe |
Objet recherche :
nom |
type |
description |
---|---|---|
id |
int |
Un identifiant (entier) unique identifiant le rapport enregistré. |
name |
string |
Le nom du rapport enregistré. |
query |
string |
Les paramètres CGI du rapport enregistré. |
Si vous n’êtes pas authentifié lors de l’appel à cette fonction, vous ne verrez que
les éléments id
, name
et real_name
. Si vous êtes authentifié et n’êtes
pas membre du groupe “editusers”, vous ne verrez que les éléments id
, name
,
real_name
, email
, can_login
et groups
. Les groupes renvoyés sont
filtrés sur la base de vos droits d’édition pour chaque groupe. Les éléments
saved_searches
et saved_reports
sont renvoyés seulement si vous faite la
requête sur votre propre compte, même si vous êtes membre du groupe “editusers”.
Cette documentation contient très probablement des bogues ; si vous en découvrez, veuillez les signaler ici.