Analytics kullanarak iş izleme verilerini sorgulama

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

Bu makalede sağlanan temel sorguları kullanarak Azure DevOps iş izleme verilerinizi sorgulayabilirsiniz. Bu sorgular, Analiz'in çeşitli özelliklerini gösterirken günlük ihtiyaçları da ele alır. Bu sorguların çoğunu gereksinimlerinizi karşılayacak şekilde uyarlayabilirsiniz.

Bu makalede, Azure Boards Analytics için Analiz ve Meta Veri başvurusu için OData sorguları oluşturma başlığı altında sağlanan bilgiler derlenmiştir.

Not

Analiz hizmeti, tüm Azure DevOps Services için üretimde otomatik olarak etkinleştirilir ve desteklenir. Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim genel olarak kullanılabilir. Bunu kullanmanızı ve bize geri bildirim göndermenizi öneririz. Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0en son önizleme sürümü ise sürümüdür v4.0-preview. Daha fazla bilgi için bkz . OData API sürümü oluşturma.

Not

Analytics hizmeti, Azure DevOps Server 2020 ve sonraki sürümleri için tüm yeni proje koleksiyonları için otomatik olarak yüklenir ve üretimde desteklenir. Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim genel olarak kullanılabilir. Bunu kullanmanızı ve bize geri bildirim göndermenizi öneririz. Azure DevOps Server 2019'dan yükselttiyseniz yükseltme sırasında Analytics hizmetini yükleyebilirsiniz.

Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0en son önizleme sürümü ise sürümüdür v4.0-preview. Daha fazla bilgi için bkz . OData API sürümü oluşturma.

Not

Analiz hizmeti, Azure DevOps Server 2019 için önizleme aşamasındadır. Bir proje koleksiyonu için etkinleştirebilir veya yükleyebilirsiniz . Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim Önizleme aşamasındadır. Bunu kullanmanızı ve bize geri bildirim göndermenizi öneririz.

Kullanılabilir veriler sürüme bağlıdır. Desteklenen en son sürüm, v2.0en son önizleme sürümü ise sürümüdür v4.0-preview. Daha fazla bilgi için bkz . OData API sürümü oluşturma.

Önkoşullar

  • Analytics verilerini görüntülemek ve hizmeti sorgulamak için Temel erişim veya daha yüksek erişime sahip bir projenin üyesi olmanız gerekir. Varsayılan olarak, tüm proje üyelerine Analytics'i sorgulama ve Analiz görünümlerini tanımlama izinleri verilir.
  • Hizmet ve özellik etkinleştirme ve genel veri izleme etkinlikleriyle ilgili diğer önkoşullar hakkında bilgi edinmek için bkz . Analytics'e erişim izinleri ve önkoşulları.

Tüm örneklerin kapsamı Azure DevOps'ta bir proje olarak belirlenmiştir. Kuruluş düzeyinde kapsam belirleme veya Azure DevOps Sunucusu örnekleri için bkz . Project ve kuruluş kapsamındaki sorgular.

İpucu

Sorgular sayfasından bir iş öğesi sorgusuna dayalı bir OData sorgusu oluşturmak için WIQL to OData Azure DevOps Market uzantısını kullanabilirsiniz. Bu uzantı, iş öğelerinin düz listesinin, İş öğelerinin ve doğrudan bağlantıların dönüştürülmesi destekler. Uzantılar Azure Boards'un özelliklerini desteklemez ve bu nedenle ürün ekibi tarafından desteklenmez. Bu uzantıları kullanırken karşılaştığınız sorular, öneriler veya sorunlar için ilgili uzantı sayfasını ziyaret edin.

Değişen Tarihe göre iş öğelerini filtreleme

Alan ölçütlerinize uyan iş öğelerini listelemek için varlık kümesini sorgularsınız WorkItems .

Aşağıdaki sorgu, Değişiklik Tarihi 12 Aralık 2021'den büyük olan Ürün Kapsam Öğeleri, Hatalar ve Özellikler'i döndürür.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/WorkItems?
  $select=WorkItemId, WorkItemType, Title, State 
  &$expand=AssignedTo($select=UserEmail)
  &$filter=(Project/ProjectName eq 'Fabrikam Fiber'
    AND (WorkItemType eq 'Product Backlog Item' or WorkItemType eq 'Bug' or WorkItemType eq 'Feature')
    AND ChangedOn/Date ge 2021-12-16T23:44:15.619Z)
  &$orderby=WorkItemType desc 

Alan temelinde iş öğelerini filtreleme

Belirli bir Alan Yolu altındaki tüm iş öğelerini listelemek için aşağıdaki sorguyu değiştirebilirsiniz.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
  $filter=Area/AreaPath eq '{area path}'
  &$select=WorkItemId, Title, State

Örnek sorgu:

Örneğin, aşağıdaki söz dizimi fabrikam kuruluşu için tanımlanan her proje için iş öğesi sayısını sorgular.

https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/WorkItems?$apply=groupby((Project/ProjectName), aggregate($count as Count))

Örnek yanıt:

Yanıt, aşağıdaki beş projenin verilerini döndürür.

{
   "@odata.context":"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#WorkItems(Project(ProjectName),Count)",
   "value":[
      {
         "@odata.id":null,
         "Count":2,
         "Project":{
            "@odata.id":null,
            "ProjectName":"Basic Fabrikam"
         }
      },
      {
         "@odata.id":null,
         "Count":19,
         "Project":{
            "@odata.id":null,
            "ProjectName":"Demo 11"
         }
      },
      {
         "@odata.id":null,
         "Count":188,
         "Project":{
            "@odata.id":null,
            "ProjectName":"Fabrikam Fiber"
         }
      },
      {
         "@odata.id":null,
         "Count":89,
         "Project":{
            "@odata.id":null,
            "ProjectName":"MyFirstProject"
         }
      },
      {
         "@odata.id":null,
         "Count":2,
         "Project":{
            "@odata.id":null,
            "ProjectName":"MyPublicProject"
         }
      }
   ]
}

İş öğelerini Yinelemeye göre filtreleme

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
  $filter=Iteration/IterationPath eq '{iteration path}'
  &$select=WorkItemId, Title, State

Örnek sorgu:

Örneğin, aşağıdaki söz dizimi sorguları, Yineleme Yolu=Fabrikam Fiber\Yayın 1\Sprint 6 altında Fabrikam Fiber projesi için iş öğelerini sorgular.

https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/WorkItems?$select=WorkItemId, WorkItemType, Title, State&$expand=Iteration($select=IterationPath)&$filter=(Project/ProjectName eq 'Fabrikam Fiber' AND WorkItemType ne '' AND Iteration/IterationPath eq 'Fabrikam Fiber\Release 1\Sprint 6')

Örnek yanıt:

Yanıt, aşağıdaki dört iş öğesinin verilerini döndürür.

{
   "@odata.context":"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,WorkItemType,Title,State,Iteration(IterationPath))",
   "value":[
      {
         "WorkItemId":361,
         "Title":"Hello World Web Site",
         "WorkItemType":"Product Backlog Item",
         "State":"New",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
         }
      },
      {
         "WorkItemId":1126,
         "Title":"web site task",
         "WorkItemType":"Task",
         "State":"To Do",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
         }
      },
      {
         "WorkItemId":1136,
         "Title":"Add a new task with two new tags",
         "WorkItemType":"Task",
         "State":"To Do",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
         }
      },
      {
         "WorkItemId":1140,
         "Title":"New task - test for Blocked",
         "WorkItemType":"Task",
         "State":"To Do",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
         }
      }
   ]
}

Yineleme için öğeleri alma

Yinelemenin ilk günü ile yinelemenin son günü arasında kalan belirli bir yineleme için tüm iş öğelerini alabilirsiniz. Burada sorgunuz, iş izleme verilerinin içinde yer alan veriler tarafından kısıtlanır.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
  $filter=Iteration/IterationPath eq '{iteration path}' 
    and ChangedDate ge Iteration/StartDate 
    and ChangedDate le Iteration/EndDate
  &$select=WorkItemId, Title, State

Belirli etiketler içeren iş öğelerini filtreleme

İş öğesiyle ilişkilendirilebilen bir etiket koleksiyonu olduğundan, burada herhangi bir işleç kullanılır. Kullanım açısından, biçimi şu şekildedir: {Navigation Property}/any(d:d/{Field Name} {operator} {expression}). Küme ayraçları ({}) ile çevrili olmayan öğeler değişmez değerdir. Bazı çeşitlemeler vardır. Örneğin, yukarıdaki ifadede kullanılan "d" kullanmanız gerekmez. Bu biçimin izlenerek basit bir şekilde devam eder.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
  $filter=Tags/any(d:d/TagName eq '{tag name}')
  &$select=WorkItemId, Title, State

Belirli bir ekip için iş öğelerini filtreleme

Belirli bir ekibin iş öğelerini listelemek için aşağıdaki sorguyu kullanın.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
  $filter=Teams/any(d:d/TeamName eq '{team name}')
  &$select=WorkItemId, Title, State

Belirli bir değere sahip olan bir alana göre iş öğelerini filtreleme

Aşağıdaki sorgu Was Ever işlecini kullanan bir iş öğesi sorgusuna benzer.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
  $filter=WorkItemType eq '{Type}'
     and Revisions/any(r:r/ResolvedBy/UserName eq '{User}') 

Örnek sorgu:

Aşağıdaki sorgu, Fabrikam Fiber projesi için e-postası 'fabrikamfiber4@hotmail.com' olan Jamal Hartnett'e atanmış olan iş öğelerini döndürür.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?
  $select=WorkItemType, Title, State, 
  &$expand=AssignedTo($select=UserEmail), Area($select=AreaPath)
  &$filter=(WorkItemType ne '' AND State ne '' AND Revisions/any(r:r/AssignedTo/UserEmail eq 'fabrikamfiber4@hotmail.com'))
  &$orderby=WorkItemType asc

Örnek yanıt:

Yanıt iki iş öğesi döndürür.

{
   "@odata.context":"https://analytics.dev.azure.com/fabrikam/Design%20Agile/_odata/v4.0-preview/$metadata#WorkItems(Priority,WorkItemType,Title,State,TagNames,AssignedTo(UserEmail),Area(AreaPath))",
   "value":[
      {
         "Title":"New home page design",
         "WorkItemType":"Feature",
         "State":"Closed",
         "AssignedTo":{
            "UserEmail":"fabrikamfiber4@hotmail.com"
         },
         "Area":{
            "AreaPath":"Design Agile"
         }
      },
      {
         "Title":"Check performance",
         "WorkItemType":"User Story",
         "State":"New",
         "AssignedTo":{
            "UserEmail":"fabrikamfiber4@hotmail.com"
         },
         "Area":{
            "AreaPath":"Design Agile"
         }
      }
   ]
}

Alan Yolu altında atanan ekipleri alma

Aşağıdaki sorgu, Fabrikam Fiber projesinin Hesap Yönetimi alanı altındaki alan yollarına atanan ekiplerin adlarını döndürür.

> https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/Areas?
>      $filter=startswith(AreaPath,'Fabrikam Fiber\Account Management')
>      &$select=AreaPath&$expand=Teams($select=TeamName)
>```
The response returns three area paths and the names of several teams assigned to each. 

> [!div class="tabbedCodeSnippets"]
```OData
> @odata.context	"https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#Areas(AreaPath,Teams(TeamName))"
> value	
> 0	
>   AreaPath             "Fabrikam Fiber\\Account Management\\Customer Profile"
>   Teams	
>       0	
>           TeamName     "Organization Management"
>       1	
>           TeamName     "Fabrikam Team"
>       2	
>           TeamName     "Customer Profile"
> 1	
>   AreaPath             "Fabrikam Fiber\\Account Management\\Shopping Cart"
>   Teams	
>       0	
>           TeamName     "Organization Management"
>       1	
>           TeamName     "Shopping Cart"
>       2	
>           TeamName     "Fabrikam Team"
> 2	
>   AreaPath             "Fabrikam Fiber\\Account Management"
>   Teams	
>       0	
>           TeamName     "Organization Management"
>       1	
>           TeamName     "Fabrikam Team"

Belirli bir iş öğesinin geçmişini döndürme

varlık kümesini iş öğesi geçmişini listelemek için sorgularsınız WorkItemRevisions . Aşağıdaki sorgu, belirtilen bir iş öğesi için her düzeltme için Başlık, Durum ve Yineleme Yolu değerlerini döndürür.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItemRevisions?
  $filter=WorkItemId eq {Id}
  &$select=WorkItemId, Title, State, Iteration Path

Not

Bir iş öğesinde, yığın derecelendirme değerinde değişiklik de dahil olmak üzere her değişiklik yapıldığında, bir düzeltme oluşturulur. Geçmiş veriler hakkında daha fazla bilgi edinmek için bkz . Geçmiş verilere filtre uygulama.

Örnek sorgu:

Örneğin, aşağıdaki söz dizimi Fabrikam Fiber projesinde ID=1145 düzeltmelerini sorgular.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v1.0/WorkItemRevisions?$select=WorkItemId, Title, State&$expand=Iteration($select=IterationPath)&$filter=(Project/ProjectName eq 'Fabrikam Fiber' AND WorkItemId eq 1145 AND State ne '' AND Revision gt 1)

Örnek yanıt:

Yanıt, dört düzeltmenin verilerini döndürür:

{
   "@odata.context":"https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItemRevisions(WorkItemId,Title,State,Iteration(IterationPath))",
   "value":[
      {
         "WorkItemId":1145,
         "Title":"Sprint 2 work added in June",
         "State":"New",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Future"
         }
      },
      {
         "WorkItemId":1145,
         "Title":"Sprint 2 work added in June",
         "State":"New",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Future"
         }
      },
      {
         "WorkItemId":1145,
         "Title":"Sprint 2 work added in June",
         "State":"New",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 2"
         }
      },
      {
         "WorkItemId":1145,
         "Title":"Sprint 2 work added in June",
         "State":"Done",
         "Iteration":{
            "IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 2"
         }
      }
   ]
}