Partage via


Fonctions et clauses OData prises en charge

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Cet article explique comment Analytics prend en charge plusieurs fonctions OData. Les fonctions non prises en charge sont également répertoriées. OData (Open Data Protocol) est une norme OASIS approuvée par l’ISO/IEC qui définit les meilleures pratiques pour la création et la consommation d’API REST. Pour plus d’informations, consultez la documentation OData.

Notes

Le service Analytics est automatiquement activé et pris en charge en production pour tous les Azure DevOps Services. L’intégration power BI et l’accès au flux OData du service Analytics sont en disponibilité générale. Nous vous encourageons à l’utiliser et à nous faire part de vos commentaires. Les données disponibles dépendent de la version. La dernière version prise en charge est v2.0, et la dernière préversion est v4.0-preview. Pour plus d’informations, consultez Gestion des versions de l’API OData.

Notes

Le service Analytics est automatiquement installé et pris en charge en production pour toutes les nouvelles collections de projets pour Azure DevOps Server 2020 et versions ultérieures. L’intégration power BI et l’accès au flux OData du service Analytics sont en disponibilité générale. Nous vous encourageons à l’utiliser et à nous faire part de vos commentaires. Si vous avez effectué une mise à niveau à partir de Azure DevOps Server 2019, vous pouvez installer le service Analytics pendant la mise à niveau.

Les données disponibles dépendent de la version. La dernière version prise en charge est v2.0, et la dernière préversion est v4.0-preview. Pour plus d’informations, consultez Gestion des versions de l’API OData.

Notes

Le service Analytics est en préversion pour Azure DevOps Server 2019. Vous pouvez l’activer ou l’installer pour une collection de projets. L’intégration power BI et l’accès au flux OData du service Analytics sont en préversion. Nous vous encourageons à l’utiliser et à nous faire part de vos commentaires.

Les données disponibles dépendent de la version. La dernière version prise en charge est v2.0, et la dernière préversion est v4.0-preview. Pour plus d’informations, consultez Gestion des versions de l’API OData.

Clauses prises en charge

  • $apply
  • $compute
  • $count
  • $expand
  • $filter
  • $orderby
  • $select
  • $skip
  • $top

Lorsque plusieurs clauses sont utilisées dans une requête, elles sont appliquées dans l’ordre spécifié ci-dessus. L’ordre des clauses dans la chaîne de requête est ignoré. Par exemple, dans la requête suivante, les éléments de travail sont d’abord regroupés et agrégés. Ensuite, les groupes sont filtrés. Après cela, les groupes filtrés sont triés. Enfin, les cinq premiers enregistrements sont retournés. La requête retourne les cinq principaux types d’éléments de travail utilisés au moins 100 fois.

WorkItems?$filter=Count ge 100&$apply=groupby((WorkItemType), aggregate($count as Count))&$orderby=Count&top=5

Prise en charge des extensions d’agrégation

Il faut une séquence de transformations de jeu, séparées par des barres obliques pour exprimer qu’elles sont appliquées consécutivement. Le résultat de chaque transformation est l’entrée de la transformation suivante. Par exemple, dans la requête suivante, les éléments de travail sont filtrés, puis regroupés par type et état d’élément de travail. Ensuite, les groupes sont filtrés et regroupés à nouveau.

Notes

Les extensions d’agrégation OData sont relativement nouvelles et ne sont pas encore entièrement prises en charge par certains outils clients.

Workitems?$apply=filter(State ne 'Closed')/groupby((WorkItemType, State), aggregate($count as Count))/filter(Count gt 100)/groupby((State),aggregate(Count with max as MaxCount))  

Les transformations suivantes sont prises en charge :

Transformation Notes
aggregate Autorise l’agrégation à l’aide de l’une des méthodes $countsuivantes , average, max, min, sum
compute Permet d’ajouter des propriétés calculées
expand Autorise l’expansion en fonction des propriétés spécifiées
filter Autorise le jeu d’entrée de filtrage. Prend en charge les mêmes expressions que $filter
groupby Autorise le regroupement par propriétés

Pour plus d’informations, consultez Agrégation des données de suivi du travail.

Fonctions prises en charge

Fonction canonique Description
cast Retourne l’expression de la instance actuelle cast au type spécifié.
contains Retourne true si la deuxième valeur de chaîne de paramètre est une sous-chaîne de la première valeur de chaîne de paramètre, sinon elle retourne false.
endswith Retourne true si la première valeur de chaîne de paramètre se termine par la deuxième valeur de chaîne de paramètre, sinon elle retourne false.
startswith Retourne true si la première valeur de chaîne de paramètre commence par la deuxième valeur de chaîne de paramètre, sinon elle retourne false.
length Retourne le nombre de caractères dans la valeur du paramètre.
indexof Retourne la position de caractère de base zéro de la première occurrence de la deuxième valeur de paramètre dans la première valeur de paramètre ou -1 si la deuxième valeur de paramètre ne se produit pas dans la première valeur de paramètre.
substring Retourne une sous-chaîne de la première valeur de chaîne de paramètre, en commençant par le nième caractère et en se terminant au dernier caractère (où N est la deuxième valeur entière du paramètre).
tolower Retourne la valeur de chaîne de paramètre d’entrée avec tous les caractères majuscules convertis en minuscules.
toupper Retourne la valeur de chaîne de paramètre d’entrée avec tous les caractères minuscules convertis en majuscules.
trim Retourne la valeur de chaîne de paramètre d’entrée avec tous les caractères d’espace blanc de début et de fin.
year Retourne le composant year de la valeur du paramètre Date ou DateTimeOffset.
month Retourne le composant month de la valeur du paramètre Date ou DateTimeOffset.
day Retourne le composant day de la valeur du paramètre Date ou DateTimeOffset.
date Retourne la partie date de la valeur du paramètre DateTimeOffset.
time Retourne la partie de temps de la valeur du paramètre DateTimeOffset.
totaloffsetminutes Retourne le nombre de minutes signé dans la partie décalage de fuseau horaire de la valeur du paramètre DateTimeOffset.
now Retourne le point actuel dans le temps (date et heure avec fuseau horaire) sous la forme d’une valeur DateTimeOffset.
maxdatetime Retourne le dernier point possible dans le temps sous la forme d’une valeur DateTimeOffset.
mindatetime Retourne le point le plus ancien possible dans le temps sous la forme d’une valeur DateTimeOffset.

Les fonctions OData sont utilisées dans une $filter clause, mais pas dans une $select clause comme elles seraient utilisées dans une instruction SQL.

Par exemple, vous pouvez spécifier :

/WorkItems?$filter=toupper(Title) eq 'HELP' 

Toutefois, vous ne pouvez pas entrer la chaîne suivante :

/WorkItems?$select=WorkItemId,State,toupper(Title)

Fonctionnalités non prises en charge

  • bottomcount
  • bottomsum
  • bottompercent
  • $crossjoin
  • concat
  • countdistinct
  • from
  • isdefined
  • $rollup
  • $search
  • topcount
  • topsum
  • toppercent