Proje ve kuruluş kapsamındaki sorgular

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

Azure DevOps için Analiz'i kullanarak, kapsamı bir proje, kuruluş veya koleksiyon olan sorgular oluşturabilirsiniz. Bu sorguları doğrudan tarayıcınızda veya Power BI'da çalıştırabilirsiniz.

Proje kapsamı sorguları tek bir proje hakkındaki soruları yanıtlamaya yardımcı olurken, kuruluş ve koleksiyon kapsamlı sorgular proje sınırlarını aşan soruları yanıtlamanıza olanak sağlar. Kuruluş ve koleksiyon kapsamındaki sorgular, sorgunuzun izin eksikliği nedeniyle engellenmediğinden emin olmak için daha geniş kullanıcı izinleri veya dikkatli kapsam belirleme kısıtlamaları gerektirir.

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ı.

Önemli

Bir kuruluştaki tüm projelere erişiminiz yoksa, tüm sorgularınıza bir proje filtresi uygulamanız önerilir. Power BI veya Excel gibi istemci araçlarına veri çekerken, proje yolu söz dizimini kullanmak, tüm verilerinizin verilen proje tarafından kısıtlandığından emin olmak için en iyi yoldur. Yalnızca iki veya daha fazla proje hakkında rapor vermeniz gerektiğinde kuruluş kapsamlı veya koleksiyon kapsamlı sorgular kullanmanızı öneririz.

Proje kapsamlı sorgular

Desteklenen bir web tarayıcısına OData URL'sini girerek bir sorgu oluşturursunuz.

Proje düzeyi OData sorgusunun temel URL'si aşağıdaki söz diziminde gösterildiği gibidir.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/

Sağlanan örneklerde ve {ProjectName} yerine{OrganizationName}, sorgulamak istediğiniz kuruluşunuzun ve projenizin adlarını yazın.

Not

Bu makalede sağlanan diğer örnekler bir Azure DevOps Services URL'sini temel alır. Örnekleri uygulamak için Azure DevOps Server URL'nizi değiştirmeniz gerekir.

İş öğelerinin sayısını döndürme

Örneğin, aşağıdaki proje kapsamlı sorgu belirli bir proje için iş öğelerinin sayısını döndürür.

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/WorkItems/$count

Örneğin, Fabrikam Fiber projesinin sorgusu 7126 iş öğesi sayısını döndürür. Silinen iş öğeleri sayıya dahil değildir.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v1.0/WorkItems/$count

7126

Proje Alan Yollarını Döndürme

Benzer şekilde, aşağıdaki sorgu dizesi belirli bir projenin alanlarını döndürür:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/Areas

Kuruluş kapsamındaki bir sorguda aşağıdaki filtreye eşdeğerdir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/Areas?
  $filter=Project/ProjectName eq '{ProjectName}'

Örneğin, Fabrikam Fiber projesinin sorgusu, sorguya işleç $select uygulanmadığı için Alan Yolu için tanımlanan tüm özellikleri döndürür.

https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v1.0/Areas

Aşağıdaki örnekte tek bir Alan Yolu için döndürülen veriler gösterilmektedir.

ProjectSK	"56af920d-393b-4236-9a07-24439ccaa85c"
AreaSK	"26be05fd-e68a-4fcb-833f-497f6bee45f2"
AreaId	"26be05fd-e68a-4fcb-833f-497f6bee45f2"
AreaName	"Service Delivery"
Number	55373
AreaPath	"Fabrikam Fiber\\Service Delivery"
AreaLevel1	"Fabrikam Fiber"
AreaLevel2	"Service Delivery"
AreaLevel3	null
AreaLevel4	null
AreaLevel5	null
AreaLevel6	null
AreaLevel7	null
AreaLevel8	null
AreaLevel9	null
AreaLevel10	null
AreaLevel11	null
AreaLevel12	null
AreaLevel13	null
AreaLevel14	null
Depth	1

$expand seçeneğinin kullanımı

Bir seçenekle proje kapsamlı bir $expand sorgu kullanırken, başka filtreler sağlamanız gerekmez.

Örneğin, aşağıdaki proje kapsamlı filtre:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/WorkItems?
  $expand=Parent

, güvenliği zorunlu kılmak için otomatik olarak filtrelenmiştir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}'
  &$expand=Parent($filter=ProjectName eq '{ProjectName}')

Kuruluş kapsamlı sorgular

Kuruluş düzeyi sorgularının Temel URL'si aşağıdaki gibidir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/v1.0

Bir seçenekle kuruluş kapsamlı bir sorgu kullanırken başka bir $expand filtre sağlamanız gerekir.

Örneğin, tüm iş öğelerinin alt öğelerini almak için bir $expand kullanan aşağıdaki kuruluş kapsamlı sorgu.

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Children

Alt öğelerinin belirtilen projeyle sınırlı olduğunu doğrulamak için başka bir filtre gerekir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Children($filter=Project/ProjectName eq '{ProjectName}')

Tüm iş öğelerinin üst öğesini döndürme

Tüm iş öğelerinin üst öğesini almak için bir $expand seçenek kullanan aşağıdaki sorgu.

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Parent

Üst öğenin belirtilen projeyle sınırlı olduğunu doğrulamak için başka bir filtre gerekir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=Project/ProjectName eq '{ProjectName}'
  &$expand=Parent($filter=Project/ProjectName eq '{ProjectName}')

Diğer filtre olmadan, herhangi bir iş öğesinin üst öğesi okuma erişiminiz olmayan bir projedeki iş öğelerine başvuruda bulunursa istek başarısız olur.

Proje düzeyinde güvenlik kısıtlamaları

Analiz, proje düzeyi güvenliğiyle ilgili sorgu söz diziminde birkaç kısıtlamaya daha sahiptir.

any veya all filtreleri bir $expandüzerindeki temel varlığa uygulanır. Bir projeyi temel alan filtreler için, kullanırken $expandfiltreyi açıkça yoksayarız:

Örneğin, aşağıdaki sorgu:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}'
  &$expand=Children($filter=Project/ProjectName eq '{ProjectName}')

Şu şekilde yorumlanır:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}'
  &$expand=Children

ve tüm projelere erişiminiz yoksa başarısız olur.

Kısıtlamaya geçici bir çözüm bulmak için içine ek bir ifade $filtereklemeniz gerekir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $filter=ProjectName eq '{ProjectName}' and Children/any(r: r/ProjectName eq '{ProjectName}')
  &$expand=Children

Kullanımı $level yalnızca koleksiyondaki tüm projelere erişiminiz varsa veya proje kapsamlı bir sorgu kullandığınızda desteklenir:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $expand=Children($levels=2;$filter=ProjectName eq '{ProjectName}')

Analiz, yan tümcesini kullanan projeler için herhangi bir çapraz düzey başvuruyu $it desteklemez. Örneğin, aşağıdaki sorgu kök iş öğesinin ProjectName diğer ad kullandığına $it başvurur ve bu desteklenmez:

https://analytics.dev.azure.com/{OrganizationName}/_odata/{version}/WorkItems?
  $expand=Links(
    $expand=TargetWorkItem;
    $filter=TargetWorkItem/Project/ProjectName eq $it/Project/ProjectName)

Sonraki adım