为什么 Azure Devops IterationId 是工作项历史记录的 Int?
Why is Azure Devops IterationId an Int for Workitem History?
我正在使用 Azure DevOps API 查询工作项以了解迭代如何随时间变化的历史记录。
所以我从一个典型的工作项查询开始,如下所示:
https://[ourserver]/[collection]/[project]/_apis/wit/workItems/[wi-id]/updates
并且在返回的 JSON 中我可以看到迭代更改。到目前为止一切顺利。
"System.IterationId": {
"oldValue": 11068,
"newValue": 11529
},
我的问题是当我尝试检索与这些 ID 关联的完整迭代记录时。 REST API 似乎使用 GUID 作为 ID,而不是整数。这是一个例子:
https://[ourserver]/[collection]/[project]/[team]/apis/work/teamsettings/iterations
{
"id": "3c117833-d770-47f1-a483-65461c440721",
"name": "Sprint 3",
"path": "aa\bb\cc\Sprint 3",
"attributes": {
"startDate": "2020-02-05T00:00:00Z",
"finishDate": "2020-02-18T00:00:00Z",
"timeFrame": "past"
}
那么,工作项历史记录中的 System.IterationId
和 REST API 中用于迭代 ID 的 GUID 之间的魔法 link 在哪里?
您可以使用 Classification Nodes - Get Classification Nodes Rest API:
获取迭代 ID
GET https://dev.azure.com/{organization}/{project}/_apis/wit/classificationnodes?ids={ids}&api-version=5.1
您可以使用 URL 参数 $depth=2
来获取子项。
在结果中,您将得到 id
,这是您在工作项更新中获得的 System.IterationId
值,identifier
,这是您通过 teamsettings/iterations
api.
我正在使用 Azure DevOps API 查询工作项以了解迭代如何随时间变化的历史记录。
所以我从一个典型的工作项查询开始,如下所示:
https://[ourserver]/[collection]/[project]/_apis/wit/workItems/[wi-id]/updates
并且在返回的 JSON 中我可以看到迭代更改。到目前为止一切顺利。
"System.IterationId": {
"oldValue": 11068,
"newValue": 11529
},
我的问题是当我尝试检索与这些 ID 关联的完整迭代记录时。 REST API 似乎使用 GUID 作为 ID,而不是整数。这是一个例子:
https://[ourserver]/[collection]/[project]/[team]/apis/work/teamsettings/iterations
{
"id": "3c117833-d770-47f1-a483-65461c440721",
"name": "Sprint 3",
"path": "aa\bb\cc\Sprint 3",
"attributes": {
"startDate": "2020-02-05T00:00:00Z",
"finishDate": "2020-02-18T00:00:00Z",
"timeFrame": "past"
}
那么,工作项历史记录中的 System.IterationId
和 REST API 中用于迭代 ID 的 GUID 之间的魔法 link 在哪里?
您可以使用 Classification Nodes - Get Classification Nodes Rest API:
获取迭代 IDGET https://dev.azure.com/{organization}/{project}/_apis/wit/classificationnodes?ids={ids}&api-version=5.1
您可以使用 URL 参数 $depth=2
来获取子项。
在结果中,您将得到 id
,这是您在工作项更新中获得的 System.IterationId
值,identifier
,这是您通过 teamsettings/iterations
api.