我正在尝试创建一个扩展,我的自定义中心的主要功能是创建用户故事映射体验。我的目标是允许用户从他们有权访问的任何项目中搜索 Epic 并将其呈现在这个特定的布局中。
在这种布局中,定位(更靠左和更靠下)非常重要。这就是需要重新排序的地方。我想使用 WorkRestClient 中的 reorderBacklogWorkItems 方法(使用 azure-devops-extension-api)来实现此目的。我的目标是有效地重新排序工作项以更改 Microsoft.VSTS.Common.StackRank 的值。例如:
假设我有来自同一团队的以下物品:
1001 Epic
1002 Feature
1003 HU 1
1004 HU 2
1005 HU 3
1006 HU 4
我希望 HU 4 (1006) 出现在列表的开头,结果如下:
1001 Epic
1002 Feature
1006 HU 4
1003 HU 1
1004 HU 2
1005 HU 3
我面临的问题是 reorderBacklogWorkItems 方法需要一个团队,如文档中所述:Microsoft Docs。但是,我没有可用的团队信息,但有区域路径。
这是我正在做的事情的更完整示例:首先,用户执行查询,用户可以搜索来自不同项目或团队的卡片,然后我得到数据“WorkItem[]”,如下所示:
const allIds = [1001, 1002, 1003, 1004, 1005, 1006]// this is an example because I really get the Ids from the query.
const client = getClient(WorkItemTrackingRestClient);
const workItems = client.getWorkItems(allIds, undefined, undefined, undefined, 4, undefined);
我向用户显示这些工作项,然后用户确定是否需要更改订单(重新排序功能不是扩展的主要目的,但这是我们想要实现的功能之一)。此时,我只有 workItems,其类型为 WorkItem[]。该数据仅包含区域路径,不包含团队信息。
我的问题是哪个方法或 Api 为我提供链接到团队的区域路径?我可以使用 azure-devops-extension-api 或 azure-devops-rest
getTeamSettings 方法和 getTeams 不提供有关团队拥有哪个区域路径的信息。
哪种方法或 API 可以为我提供链接到团队的区域路径?我可以使用 azure-devops-extension-api 或 azure-devops-rest
要获取链接到团队的区域路径,可以在 azure-devops-extension-api 或 azure-devops-rest-api 中使用以下方法。
Azure DevOps Rest API:Teamfieldvalues - 获取
GET https://dev.azure.com/{organization}/{project}/{team}/_apis/work/teamsettings/teamfieldvalues?api-version=5.1
Azure-devops-extension-api:WorkRestClient 类 -> getTeamFieldValues(TeamContext)
function getTeamFieldValues(teamContext: TeamContext): Promise<TeamFieldValues>
在响应中,您可以检查响应中的values字段。它包含链接到团队的所有区域路径。