Megosztás a következőn keresztül:


Csatolt munkaelemek lekérdezése

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

A munkaelemek hivatkozások közötti lekérdezése sokkal inkább hasonlít a tipikus navigációs tulajdonságokra. Maguk a hivatkozások azonban entitások, ezért van némi összetettség.

A csatolt munkaelemeket kétféleképpen kérdezheti le. Az első a Szülő/Gyermek hierarchia, a második pedig a Hivatkozások navigációs tulajdonság.

Ebben a cikkben a következőt fogja elsajátítani:

  • Lekérdezés létrehozása hierarchikusan (szülő-gyermek) csatolt munkaelemek visszaadásához
  • Nem hierarchikus (kapcsolódó, közvetlen) csatolt munkaelemek visszaadására szolgáló lekérdezés létrehozása

Megjegyzés:

Az Elemzési szolgáltatás automatikusan engedélyezve és támogatva van az összes Azure DevOps Services esetében az éles környezetben. Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és hozzáférése általánosan elérhető. Javasoljuk, hogy használja és küldjön nekünk visszajelzést. A rendelkezésre álló adatok verziófüggők. A legújabb támogatott verzióv2.0, és a legújabb előzetes verzió.v4.0-preview További információ: OData API-verziószámozás.

Megjegyzés:

Az Analytics szolgáltatás automatikusan települ és támogatott éles környezetben az Azure DevOps Server 2020 és újabb verziók összes új projektgyűjteményéhez. Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és hozzáférése általánosan elérhető. Javasoljuk, hogy használja és küldjön nekünk visszajelzést. Ha az Azure DevOps Server 2019-ről frissített, a frissítés során telepítheti az Analytics szolgáltatást.

A rendelkezésre álló adatok verziófüggők. A legújabb támogatott verzióv2.0, és a legújabb előzetes verzió.v4.0-preview További információ: OData API-verziószámozás.

Megjegyzés:

Az Analytics szolgáltatás előzetes verzióban érhető el az Azure DevOps Server 2019-hez. Engedélyezheti vagy telepítheti egy projektgyűjteményhez. Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és elérése előzetes verzióban érhető el. Javasoljuk, hogy használja és küldjön nekünk visszajelzést.

A rendelkezésre álló adatok verziófüggők. A legújabb támogatott verzióv2.0, és a legújabb előzetes verzió.v4.0-preview További információ: OData API-verziószámozás.

Megjegyzés:

A cikkben bemutatott példák az Azure DevOps Services URL-címén alapulnak. Az Azure DevOps Server esetében a helyszíni kiszolgáló URL-címét kell lecserélnie.

https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/

Szülő–gyermek hierarchia

A szülő-gyermek kapcsolatokon keresztül kapcsolódó elemeket a Szülő és gyermek tulajdonságok használatával $expand is felveheti.

Példa: Szülőről gyermekre lekérdezés

Ha egy elem gyermekeire vonatkozó információkat szeretne visszaadni, használja $expand a Children navigációs tulajdonságot. Az alábbi kódrészlet kéri, hogy adja vissza a Fabrikam Fiber projekt 359-ben megadott munkaelem-azonosítójú gyermekeit.

Kérelem

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)

A válasz 479-et és 480-at ad vissza, amelyek az epikus 359 gyermekei.

Megjegyzés:

A munkaelem-hivatkozás adatait kérő legtöbb OData-lekérdezés eredményként, de figyelmeztetésként is szolgál. A figyelmeztetés emlékeztető az OData Analytics lekérdezési irányelveiben leírt ajánlott lekérdezési irányelvek követésére. A megadott lekérdezési példák azonban érvényesek.

Válasz

@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"

Példa: Gyermek–szülő lekérdezés

Ha a Gyermek beállítást szülőre $expand cseréli, lekérheti egy elem elődjét.

Az alábbi lekérdezés a Fabrikam Fibre projekt 1048-ás munkaelem-azonosítójának szülőjének visszaadását kéri.

Kérelem

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

A válasz a 480-at adja vissza, amely az 1048-ra vonatkozó termékháttér-tétel szülője.

Válasz

@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"

A szülő-gyermek hierarchia mellett az elemek közvetlenül is kapcsolódhatnak más, például Kapcsolódó vagy Duplikált típusú elemekhez. A Hivatkozások navigációs tulajdonság lehetővé teszi a kapcsolatok kérését.

Az elemhez társított hivatkozások lekéréséhez a Hivatkozások navigációs tulajdonságot használhatja$expand. Ebben a példában a SourceWorkItemId, a TargetWorkItemId és a LinkTypeName lekéri a 363-as munkaelemhez társított összes hivatkozást.

Kérelem

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)

Válasz

{
    "@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"
        }
    }]
}

Példa: Csatolt elemek adatainak kérése

A csatolt munkaelemek adatait a TargetWorkItem vagy a SourceWorkItem navigációs tulajdonságok használatával $expand is megadhatja. Ebben a példában minden hivatkozáshoz lekérjük a célmunkaelem WorkItemId azonosítóját, címét és állapotát .

Kérelem

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))

Válasz

{
    "@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"
            }
        }]
    }]
}

Az elemek közötti kapcsolat egy adott típusa is érdekelheti. Adja meg a LinkTypeName tulajdonságot egy $filter záradékban. Az alábbi lekérdezési példa kibontja az összes kapcsolódó hivatkozást, és kiszűri a 103-at tartalmazó munkaelem összes többi hivatkozástípusát.

Kérelem

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))

Válasz

{
    "@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"
            }
        }]
    }]
}

További lépések