Bağlantılı iş öğeleri için sorgu
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
İş öğelerini bağlantılar arasında sorgulamak, tipik gezinti özelliklerini kullanmaya çok benzer. Ancak bağlantıların kendileri varlıklardır, bu nedenle biraz daha karmaşıklık vardır.
Bağlantılı iş öğelerini sorgulamanın iki yolu vardır. Birincisi Üst/Alt hiyerarşi, ikincisi bağlantılar gezinti özelliğidir.
Bu makalede şunları öğreneceksiniz:
- Hiyerarşik (üst-alt) bağlantılı iş öğeleri döndürmek için sorgu oluşturma
- Hiyerarşik olmayan (ilgili, doğrudan) bağlı iş öğelerini döndürmek için sorgu oluşturma
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.
Not
Bu makalede gösterilen örnekler, Azure DevOps Services URL'sini temel alır. Azure DevOps Server için, şirket içi sunucunun URL'sini değiştirmeniz gerekir.
https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/
Üst-alt hiyerarşisi
Üst/Alt bağlantılar $expand
aracılığıyla ilgili öğeleri, Üst ve Alt öğeleri kullanarak ekleyebilirsiniz.
Örnek: Üst öğeden alt sorguya
Öğenin alt öğeleriyle ilgili bilgileri döndürmek için Alt öğeler gezinti özelliğini kullanın.$expand
Aşağıdaki kod parçacığı, Fabrikam Fiber projesinden iş öğesi kimliği 359'un alt öğelerini döndürmeyi ister.
İste
https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?$filter=WorkItemId eq 359&$select=WorkItemId, Title, WorkItemType, State&$expand=Children($select=WorkItemId,Title, WorkItemType, State)
Yanıt, epic 359'un çocukları olan 479 ve 480 özelliklerini döndürür.
Not
İş öğesi bağlantı bilgilerini isteyen çoğu OData sorgusu sonuçları döndürecek, aynı zamanda bir uyarı da döndürecektir. Uyarı, OData Analytics sorgu yönergelerinde açıklanan önerilen sorgu yönergelerini izlemeniz için bir anımsatıcıdır. Ancak, sağlanan sorgu örnekleri geçerlidir.
Response
@odata.context "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,Title,WorkItemType,State,Children(WorkItemId,Title,WorkItemType,State))"
vsts.warnings@odata.type "#Collection(String)"
@vsts.warnings
0 "VS403508: Using the Parent, Children, Descendants or Revision properties in a filter or expand is not recommended. Details on recommended query patterns are available here: https://go.microsoft.com/fwlink/?linkid=861060."
value
0
WorkItemId 359
Title "Phase 1 - Customer access and engagement 5"
WorkItemType "Epic"
State "In Progress"
Children
0
WorkItemId 480
Title "Customer Phone - Phase 1"
WorkItemType "Feature"
State "In Progress"
1
WorkItemId 479
Title "Customer Web - Phase 1"
WorkItemType "Feature"
State "In Progress"
Örnek: Alt öğeden üst sorguya
Seçeneğinde $expand
Alt öğeleri Ebeveyn ile değiştirerek bir öğenin üst bilgisini alabilirsiniz.
Aşağıdaki sorgu, Fabrikam Fiber projesinden 1048 iş öğesi kimliğinin üst öğesini döndürmek için istekte bulunur.
İste
https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/WorkItems?$select=WorkItemId,Title,State&$expand=Parent($select=WorkItemId,Title,WorkItemType, State)&$filter=WorkItemId eq 1048
Yanıt, ürün kapsamı öğesi 1048'in üst öğesi olan 480 özelliğini döndürür.
Response
@odata.context "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,Title,WorkItemType,State,Parent(WorkItemId,Title,WorkItemType,State))"
vsts.warnings@odata.type "#Collection(String)"
@vsts.warnings
0 "VS403508: Using the Parent, Children, Descendants or Revision properties in a filter or expand is not recommended. Details on recommended query patterns are available here: https://go.microsoft.com/fwlink/?linkid=861060."
value
0
WorkItemId 1048
Title "Support reset"
WorkItemType "Product Backlog Item"
State "New"
Parent
WorkItemId 480
Title "Customer Phone - Phase 1"
WorkItemType "Feature"
State "In Progress"
Hiyerarşik olmayan bağlantılar için sorgu
Üst/Alt öğe hiyerarşisine ek olarak, öğeler İlişkili veya Yinelenen gibi bağlantı türlerine sahip diğer öğelerle doğrudan ilişkilendirilebilir. Bağlantılar gezinti özelliği bu ilişkileri istemenizi sağlar.
Örnek: Bir öğenin bağlantılarını isteme
Bir öğeyle ilişkili bağlantıları almak için Bağlantılar gezinti özelliğini kullanabilirsiniz $expand
. Bu örnekte, 363 iş öğesiyle ilişkili tüm bağlantılar için SourceWorkItemId, TargetWorkItemId ve LinkTypeName alınır.
İste
https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?$select=WorkItemId,Title,WorkItemType,State&$filter=WorkItemId%20eq%20363&$expand=Links($select=SourceWorkItemId,TargetWorkItemId,LinkTypeName)
Response
{
"@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,Title,WorkItemType,State,Links(SourceWorkItemId,TargetWorkItemId,LinkTypeName))",
"value": [{
"WorkItemId": 363,
"Title": "Welcome back page",
"WorkItemType": "Product Backlog Item",
"State": "Done",
"Links": [{
"SourceWorkItemId": 363,
"TargetWorkItemId": 400,
"LinkTypeName": "Related"
}, {
"SourceWorkItemId": 363,
"TargetWorkItemId": 470,
"LinkTypeName": "Tested By"
}, {
"SourceWorkItemId": 363,
"TargetWorkItemId": 501,
"LinkTypeName": "Related"
}, {
"SourceWorkItemId": 363,
"TargetWorkItemId": 1079,
"LinkTypeName": "Tested By"
}
}]
}
Örnek: Bağlı öğelerin ayrıntılarını isteme
TargetWorkItem veya SourceWorkItem gezinti özelliklerini kullanarak $expand
bağlantılı iş öğelerinizin ayrıntılarını ekleyebilirsiniz. Bu örnekte, her bağlantı için hedef iş öğesinin WorkItemId, Title ve State bilgilerini alıyoruz.
İste
https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?$select=WorkItemId,Title,WorkItemType,State&$filter=WorkItemId%20eq%20103&$expand=Links($select=SourceWorkItemId,TargetWorkItemId,LinkTypeName;$expand=TargetWorkItem($select=WorkItemId,Title,State))
Response
{
"@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,Title,WorkItemType,State,Links(SourceWorkItemId,TargetWorkItemId,LinkTypeName,TargetWorkItem(WorkItemId,Title,State)))",
"value": [{
"WorkItemId": 103,
"Title": "Feature Y",
"WorkItemType": "Feature",
"State": "New",
"Links": [{
"SourceWorkItemId": 103,
"TargetWorkItemId": 48,
"LinkTypeName": "Child",
"TargetWorkItem": {
"WorkItemId": 48,
"Title": "Story 15",
"State": "Resolved"
}
}, {
"SourceWorkItemId": 103,
"TargetWorkItemId": 50,
"LinkTypeName": "Child",
"TargetWorkItem": {
"WorkItemId": 50,
"Title": "Story 17",
"State": "Active"
}
}, {
"SourceWorkItemId": 103,
"TargetWorkItemId": 55,
"LinkTypeName": "Child",
"TargetWorkItem": {
"WorkItemId": 55,
"Title": "Story 22",
"State": "New"
}
}, {
"SourceWorkItemId": 103,
"TargetWorkItemId": 112,
"LinkTypeName": "Related",
"TargetWorkItem": {
"WorkItemId": 112,
"Title": "Some issue",
"State": "Active"
}
}]
}]
}
Örnek: Belirli bir türün bağlantıları
Öğeler arasındaki belirli bir bağlantı türüyle de ilgileniyor olabilirsiniz. Yan $filter
tümcesinde LinkTypeName özelliğini belirtin. Aşağıdaki sorgu örneği tüm İlgili bağlantıları genişletir ve 103 iş öğesi için diğer tüm bağlantı türlerini filtreler.
İste
https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?$select=WorkItemId,Title,WorkItemType,State&$filter=WorkItemId eq 103&$expand=Links($select=SourceWorkItemId,TargetWorkItemId,LinkTypeName;$filter=LinkTypeName eq 'Related';$expand=TargetWorkItem($select=WorkItemId,Title,State))
Response
{
"@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,Title,WorkItemType,State,Links(SourceWorkItemId,TargetWorkItemId,LinkTypeName,TargetWorkItem(WorkItemId,Title,State)))",
"value": [{
"WorkItemId": 103,
"Title": "Feature Y",
"WorkItemType": "Feature",
"State": "New",
"Links": [{
"SourceWorkItemId": 103,
"TargetWorkItemId": 112,
"LinkTypeName": "Related",
"TargetWorkItem": {
"WorkItemId": 112,
"Title": "Some issue",
"State": "Active"
}
}]
}]
}