Avant tout, je tiens à préciser que cet article n'est pas issu directement de la documentation officielle d'ALM et ne tend pas à la remplacer. Par la même occasion, voici un très bon article qui m'a mis sur la piste : http://www.joecolantonio.com/2013/03/12/alm-how-to-get-started-using-the-alm-rest-api/
Pour se connecter via REST, voici l'interface :
http://alm.votre-domaine/qcbin/rest/is-authenticated?login-form-required=y
Pour se déconnecter :
http://alm.votre-domaine/qcbin/authentication-point/logout
ALM étant vaste, ce qui suit va concerner plus particulièrement les defects.
L'interface globale pour les defects est la suivante :
http://alm.votre-domaine/qcbin/rest/domains/votreDomaine/projects/votreProjet/defects
Filtres
Il est possible de filtrer les defects en définissant des requêtes.
Tout d'abord, un defect est une entité représentée par des champs. Par défaut, l'affichage se fait au format XML. Lors de l'affichage de l'ensemble des defects
http://alm.votre-domaine/qcbin/rest/domains/votreDomaine/projects/votreProjet/defectsles champs sont représentés par des éléments <field> dont le nom est accessible dans l'attribut name, ex :
<Field Name="name">...</Field>
Une fois que vous savez sur quels champs faire votre restriction, vous pouvez construire votre requête. Une requête se construit sur la base du paramètre query :
.../rest/domains/votreDomaine/projects/votreProjet/defects/?query={nomDuchamp[valeurDeRestriction];nomDuChampSuivant[valeurDeRestriction]}
Les restrictions sont définies entre accolades. Pour chaque champ, la valeur de restriction est spécifiée entre []. Les champs sont délimités par des ;
Voici un exemple concret :
http://alm.votre-domaine/qcbin/rest/domains/votreDomaine/projects/votreProjet/defects?query={creation-time[>=2014-01-01];id[=7607]}
Spécifier les champs
L'API permet aussi de spécifier les champs à afficher pour chaque defect.
Pour ce faire, les champs à afficher sont spécifiés dans le paramètre fields :
http://alm.votre-domaine/qcbin/rest/domains/votreDomaine/projects/votreProjet/defects?query={creation-time[>=2014-01-01];id[=7607]}&fields=id,description
Voilou :)