我正在开发 VSTS 的扩展,它要求我按团队分隔工作项。
REST API 包含queryByWiql,它接受一个WIQL 查询和一个可选的项目和团队。在下面的示例中,我在调用中包含了一个项目和团队,但结果包含来自所有项目中所有团队的所有打开的工作项,而不仅仅是分配给提供的项目/团队的工作项。
function testing() {
VSS.require(["VSS/Service", "TFS/WorkItemTracking/RestClient", "TFS/Core/RestClient"],
function(VSS_Service, TFS_Wit_WebApi, TFS_Core_WebApi) {
//This gets the correct project information
var witClient = VSS_Service.getCollectionClient(TFS_Wit_WebApi.WorkItemTrackingHttpClient);
var projectId = VSS.getWebContext().project.id;
var coreClient = TFS_Core_WebApi.getClient();
var allteams = [];
var query = {
query: "SELECT [System.Id] "
+ "FROM WorkItem WHERE [System.WorkItemType] = 'Feature' "
+ "AND [System.State] NOT IN ('Closed','Completed','Removed','Done')"
};
//This gets all of the teams in the project
coreClient.getTeams(projectId).then(function(teams) {
allteams = teams;
}).then(function() {
//This should get the open work items for a specific team in a specific project
//Instead, 'result' contains all open work items from all projects
witClient.queryByWiql(query, allteams[0].projectName, allteams[0].id).then(function(result) {
VSS.notifyLoadSucceeded();
console.log(result);
});
});
});
}
在上面的示例中,应该只包含一个项目 ( ) 中result
一个团队 ( ) 的打开工作项。相反,包含所有工作项。allteams[0].name
allteams[0].projectName
result
是否有不同的方法来按团队过滤结果?