Share via


Répertorier les exemples de requêtes et de rapports d’éléments de travail liés

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

Cet article vous montre comment créer un rapport qui répertorie les éléments de travail liés à d’autres éléments de travail. Par exemple, le rapport suivant affiche une liste de fonctionnalités liées aux récits utilisateur avec le type de lien parent-enfant.

Capture d’écran des liens parent-enfant du rapport de table Fonctionnalités et Récits utilisateur.

Pour en savoir plus sur les types de liens et la liaison d’éléments de travail, consultez Les récits utilisateur de lien, les problèmes, les bogues et d’autres éléments de travail.

D’autres exemples de requêtes incluent la liste des bogues avec un lien en double vers un autre bogue et la liste des bogues qui ne contiennent pas de lien en double vers un autre bogue.

Remarque

Cet article suppose que vous avez lu Vue d’ensemble des exemples de rapports à l’aide de requêtes OData et que vous avez une compréhension de base de Power BI.

Prérequis

  • Pour afficher les données Analytics et interroger le service, vous devez être membre d’un projet avec un accès de base ou supérieur. Par défaut, tous les membres du projet sont autorisés à interroger Analytics et à définir des vues Analytics.
  • Pour en savoir plus sur d’autres prérequis concernant l’activation des services et des fonctionnalités et les activités générales de suivi des données, consultez Autorisations et prérequis pour accéder à Analytics.

Exemples de requêtes

Plusieurs requêtes sont fournies qui montrent comment filtrer les éléments de travail liés. Toutes ces requêtes spécifient l’ensemble WorkItems d’entités à mesure qu’elles retournent des données actuelles.

Remarque

Pour déterminer les propriétés disponibles à des fins de filtre ou de rapport, consultez Informations de référence sur les métadonnées pour Azure Boards. Vous pouvez filtrer vos requêtes ou renvoyer des propriétés à l’aide de l’une Property des valeurs sous ou EntityType des NavigationPropertyBinding Path valeurs disponibles avec un EntitySet. Chaque EntitySet correspond à un EntityType. Pour en savoir plus sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le .EntityType

Retourner des fonctionnalités et leurs récits utilisateur enfants

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.


let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Closed' and State ne 'Removed' "
            &"and startswith(Area/AreaPath,'{areapath}') " 
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Child' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Chaînes de substitution et répartition des requêtes

Remplacez les chaînes suivantes par vos valeurs. N’incluez pas de crochets {} avec votre substitution. Par exemple, si le nom de votre organisation est « Fabrikam », remplacez par {organization}Fabrikam, et non {Fabrikam}par .

  • {organization} - Nom de votre organisation
  • {project} - Nom de votre projet d’équipe ou omettre entièrement « /{projet} » pour une requête inter-projets
  • {areapath} - Chemin d’accès de votre zone. Exemple de format : Project\Level1\Level2.

Répartition des requêtes

Le tableau suivant décrit chaque partie de la requête.

Composant de requête

Description

$filter=WorkItemType eq 'Feature'

Renvoyer des récits utilisateur.

and State ne 'Closed' and State ne 'Removed'

Omettez les fonctionnalités dont l’état est défini sur Fermé ou Supprimé.

and startswith(Area/AreaPath,'{areapath}')

Incluez uniquement les fonctionnalités sous un chemin d’accès de zone spécifique en '{areapath}'remplaçant .
Pour filtrer par nom d’équipe, utilisez l’instruction Teams/any(x:x/TeamName eq '{teamname})'filter .

&$select=WorkItemId,Title,WorkItemType,State,AreaSK

Sélectionnez les champs à retourner.

&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),

Spécifiez les champs à utiliser pour développer AssignedTo, Iterationet les Area entités.

Links(

Développez l’entité Links .

$filter=LinkTypeName eq 'Child'

Filtrez les éléments de travail liés uniquement ceux avec le type de lien enfant . D’autres exemples sont Parent, Child, Duplicate, Duplicate Of, AffectedEd By.

and TargetWorkItem/WorkItemType eq 'User Story';

Incluez uniquement les récits utilisateur liés.

$select=LinkTypeName;

Sélectionnez la LinkTypeName propriété à retourner.

$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)

Sélectionnez les propriétés de l’élément de travail lié à retourner.

)

Fermez la Links() clause.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Related' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Retourner les récits utilisateur liés filtrés par Teams

La requête suivante est la même que celle utilisée précédemment dans cet article, sauf qu’elle filtre par nom d’équipe plutôt que par chemin d’accès à la zone.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and State ne 'Closed' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Related' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
    Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Bug' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug') "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
            &"Links( "
                &"$filter=LinkTypeName eq 'Duplicate' "
                &"and TargetWorkItem/WorkItemType eq 'Bug'; "
                    &"$select=LinkTypeName; "
                &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
            &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Bug' "
                &"and State ne 'Closed' "
                &"and startswith(Area/AreaPath,'{areapath}') "
                &"and not (Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug')) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Facultatif) Renommer la requête

Vous pouvez renommer l’étiquette de requête par défaut , Query1, en quelque chose de plus significatif. Entrez simplement un nouveau nom dans le volet Paramètres de requête .

Capture d’écran des options de menu de requête Power BI, renommer la requête.

Transformer des données dans Éditeur Power Query

Avant de créer le rapport, vous devez développer des colonnes qui retournent des enregistrements contenant plusieurs champs. Dans ce cas, vous devez développer les enregistrements suivants :

  • Links
  • Links.TargetWorkItem
  • Area
  • Iteration
  • AssignedTo

Pour savoir comment développer des éléments de travail, consultez Transformer des données Analytics pour générer des rapports Power BI.

(Facultatif) Renommer des champs

Une fois que vous avez développé les colonnes, vous pouvez renommer un ou plusieurs champs. Par exemple, vous pouvez renommer la colonne AreaPath en Area Path. Vous pouvez les renommer dans la vue de la table de données ou une version ultérieure lorsque vous créez le rapport. Pour savoir comment procéder, consultez Renommer les champs de colonne.

Dans cet exemple, les champs suivants ont été renommés :

Nom du champ d’origine Renommer
Links.TargetWorkItem.ID ID de la cible
LinksLinkTypeName Type de lien
Links.TargetWorkItem.State État de la cible
Links.TargetWorkItem.Title Titre de la cible

Fermez la requête et appliquez vos modifications

Une fois que vous avez terminé toutes vos transformations de données, choisissez Fermer & Appliquer dans le menu Accueil pour enregistrer la requête et revenir à l’onglet Rapport dans Power BI.

Capture d’écran de Éditeur Power Query’option Fermer et appliquer.

Créer un rapport de table pour répertorier les éléments de travail liés

  1. Dans Power BI, choisissez Rapport de table sous Visualisations.

    Capture d’écran des sélections de visualisations et de champs Power BI pour le rapport de la table de liste liens parents-enfants.

  2. Ajoutez les champs suivants dans l’ordre indiqué aux colonnes :

    • ID, cliquez avec le bouton droit et sélectionnez Ne pas résumer
    • État
    • Titre
    • ID cible, cliquez avec le bouton droit et sélectionnez Ne pas résumer
    • Type de lien
    • État cible
    • Titre de la cible

L’exemple de rapport s’affiche.

Capture d’écran des exemples de liens parent-enfant du rapport de table Fonctionnalités et Récits utilisateur.