Contrôle de version de l’API OData
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Analytics pour Azure DevOps offre une API OData avec version compatible avec les clients conçus pour des versions spécifiques. Chaque version peut inclure des améliorations et des modifications sans rupture, tandis que les modifications cassantes sont introduites dans les versions futures.
La version de l’API suit l’élément _odata
du chemin de requête et peut être l’une des versions prises en charge : v1.0, v2.0, v3.0-preview ou v4.0-preview.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/$metadata
https://{servername}:{port}/tfs/{CollectionName}/{ProjectName}/_odata/{version}/$metadata
Remarque
Le service Analytics est automatiquement activé et pris en charge en production pour tous les services Azure DevOps. L’intégration de Power BI et l’accès au flux OData du service Analytics sont généralement disponibles. 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 version d’évaluation est v4.0-preview
. Pour plus d’informations, consultez gestion des versions de l’API OData.
Remarque
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 de Power BI et l’accès au flux OData du service Analytics sont généralement disponibles. Nous vous encourageons à l’utiliser et à nous faire part de vos commentaires. Si vous avez effectué une mise à niveau à partir d’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 version d’évaluation est v4.0-preview
. Pour plus d’informations, consultez gestion des versions de l’API OData.
Remarque
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 de 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 version d’évaluation est v4.0-preview
. Pour plus d’informations, consultez gestion des versions de l’API OData.
Différences entre les versions
v1.0 et v2.0 : les versions publiées de l’API OData sont stables et n’incluent pas les modifications cassantes. v2.0 inclut des améliorations et plus de fonctionnalités par rapport à la version 1.0.
v3.0-preview et v4.0-preview : les versions préliminaires peuvent inclure des modifications cassants et ne sont pas garanties d’avoir les mêmes fonctionnalités dans la version finale. Ils offrent un accès anticipé aux nouvelles fonctionnalités et améliorations qui ne sont pas encore disponibles dans les versions publiées.
Pourquoi choisir une version spécifique ?
- Stabilité : si vous avez besoin d’une API stable et fiable sans modifier les changements cassants, vous devez choisir l’une des versions publiées (v1.0 ou v2.0).
- Nouvelles fonctionnalités : si vous souhaitez tirer parti des dernières fonctionnalités et améliorations, vous pouvez opter pour l’une des versions préliminaires (v3.0-preview ou v4.0-preview). Toutefois, ces versions peuvent inclure des changements cassants et sont susceptibles de changer.
- Compatibilité : vérifiez que la version que vous choisissez est compatible avec vos clients et systèmes existants. La version de l’API suit l’élément
_odata
du chemin de requête et peut être l’une des versions prises en charge : v1.0, v2.0, v3.0-preview ou v4.0-preview.
Jeux d’entités pris en charge dans chaque version
Pour plus d’informations sur les EntitySets pris en charge avec chaque version de l’API, consultez Le modèle de données pour Analytics, Entities.
Cycle de vie des révisions
Chaque version de l’API OData passe par les trois phases suivantes pendant son cycle de vie.
1. Phase d’aperçu
Nous allons combiner et publier toutes les modifications cassants ensemble dans les futures versions de l’API. Pour rendre cette fonctionnalité disponible dès que possible, nous mettons en production de nouvelles versions en mode préversion . Les modifications cassants sont toujours possibles pendant qu’une version est en mode préversion et il n’existe aucune garantie que ce qui est inclus dans une version préliminaire est inclus dans la version publiée. La préversion d’une version reste disponible pendant un minimum de six semaines après sa publication.
2. Publiée
Une fois qu’une préversion arrive à maturité et qu’elle est prête pour la mise en production, elle devient disponible sans le suffixe -preview . Les versions publiées n’incluent pas de changements cassants, bien que le modèle de données puisse encore s’étendre avec plus de fonctionnalités. Nous prenons en charge les versions publiées pendant un minimum de 12 mois.
3. Déconseillé
Les versions déconseillées ne sont plus prises en charge et les demandes adressées à ces versions ne sont pas remplies. Si vous tentez de demander une version déconseillée ou non prise en charge, vous recevez un code de réponse HTTP 410 et un message tel que :
Le point de terminaison OData {version} pour Analytics n’est pas pris en charge. Les informations sur la dernière version recommandée sont disponibles ici : https://go.microsoft.com/fwlink/?linkid=856818
Changements cassants et non cassants
Le modèle de données exposé par Analytics définit le contrat entre le service et ses clients. Selon la spécification OData, les clients doivent être tolérants aux modifications additives apportées au modèle de données. Les changements cassants sont introduits dans les futures versions. Pour plus d’informations, consultez OData Version 4.0 Partie 5 : Contrôle de version.
Remarque
Le système ne met pas en version aucun champ d’élément de travail personnalisé. Le système ne met pas en version aucun champ d’élément de travail personnalisé. La suppression ou la modification des types d’éléments de travail ou de champs personnalisés peut entraîner des changements cassants dans votre modèle. Tous les éléments de travail et leurs révisions reflètent la configuration actuelle du champ personnalisé.
Exemple de modifications non cassantes
Envisagez un scénario dans lequel une nouvelle UserType
propriété est ajoutée à l’entité User
. Par exemple, les métadonnées de la version v1.0 sont indiquées dans la syntaxe suivante.
<EntityType Name="User">
<Key>
<PropertyRef Name="UserSK"/>
</Key>
<Property Name="UserSK" Type="Edm.Guid" Nullable="false"/>
<Property Name="UserId" Type="Edm.Guid">
<Annotation Term="Display.DisplayName" String="User Id"/>
</Property>
<Property Name="UserName" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="User Name"/>
</Property>
<Property Name="UserEmail" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="User Email"/>
</Property>
<!-- New User Type property -->
<Property Name="UserType" Type="Edm.Int32">
<Annotation Term="Display.DisplayName" String="User Type"/>
</Property>
<!-- New User Type property -->
</EntityType>
Dans la version v4.0-preview , les métadonnées sont augmentées avec des modifications additives. Ces modifications peuvent également être mises à disposition dans les versions précédentes.
<EntityType Name="User">
<Key>
<PropertyRef Name="UserSK"/>
</Key>
<Property Name="UserSK" Type="Edm.Guid" Nullable="false"/>
<Property Name="UserId" Type="Edm.Guid">
<Annotation Term="Display.DisplayName" String="User Id"/>
</Property>
<Property Name="UserName" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="User Name"/>
<Annotation Term="Microsoft.VisualStudio.Services.Analytics.IsPersonallyIdentifiableInformation" Bool="true"/>
</Property>
<Property Name="UserEmail" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="User Email"/>
<Annotation Term="Microsoft.VisualStudio.Services.Analytics.IsPersonallyIdentifiableInformation" Bool="true"/>
</Property>
<Property Name="AnalyticsUpdatedDate" Type="Edm.DateTimeOffset"/>
<Property Name="GitHubUserId" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="GitHub User Id"/>
</Property>
<Property Name="UserType" Type="Microsoft.VisualStudio.Services.Analytics.Model.UserType">
<Annotation Term="Display.DisplayName" String="User Type"/>
</Property>
</EntityType>
Exemple de changements cassants
Envisagez un scénario dans lequel nous revenons à la structure d’origine de l’entité User
, ce qui entraîne la suppression d’une fonctionnalité précédemment disponible.
<EntityType Name="User">
<Key>
<PropertyRef Name="UserSK"/>
</Key>
<Property Name="UserSK" Type="Edm.Guid" Nullable="false"/>
<Property Name="UserId" Type="Edm.Guid" Nullable="false">
<Annotation Term="Display.DisplayName" String="User Id"/>
</Property>
<Property Name="UserName" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="User Name"/>
</Property>
<Property Name="UserEmail" Type="Edm.String">
<Annotation Term="Display.DisplayName" String="User Email"/>
</Property>
<!-- User Type property has been removed -->
</EntityType>
Étant donné que la UserType
suppression du champ est une modification cassante, le champ n’est pas supprimé tant que la version v2.0 de l’API n’est pas supprimée. La version v1.0 du modèle de données continue d’inclure le UserType
champ.