1

我正在开发 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].nameallteams[0].projectNameresult

是否有不同的方法来按团队过滤结果?

4

0 回答 0