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.0
en 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.0
en 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.0
en 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
- Erişim düzeyi: Temel erişim veya daha yüksek erişime sahip bir projenin üyesi olmanız gerekir.
- İzin: Varsayılan olarak, proje üyeleri Analytics'i sorgulama ve görünüm oluşturma iznine sahiptir.
- Hizmet ve özellik etkinleştirme ve genel veri izleme etkinlikleriyle ilgili diğer önkoşullar hakkında daha fazla bilgi 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 $expand
filtreyi 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 $filter
eklemeniz 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)