2016-08-09 49 views
0

当实现TFS扩展Widget时,我们的团队尝试使用一些VSO API来确定当前版本控制工具是TFVC还是Git。我们发现有一个API在VersionCtrlRestClient可以返回项目信息。但是下面的代码总是失败,出现401 NOT AUTHORIZED错误。当试图创建TFS扩展时,Visual Studio Team Services(VSO)SDK getProjectInfo失败

import VersionCtrlRestClient = require("TFS/VersionControl/TfvcRestClient"); 
versionCtrlClient.getProjectInfo("MyProjectName") 
.then(projectInfo => { 
    var cont = $("#content"); 
    cont.append("<pre>" + "TFVC---" + projectInfo.supportsGit + "</pre>"); 
    cont.append("<pre>" + "GIT ---" + projectInfo.supportsGit + "</pre>"); 
    cont.append("<pre>" + "GIT ---" + projectInfo.defaultSourceControlType + "</pre>"); 
}); 

我们的扩展已经注册到下面的范畴,它是确定调用API来查询从versionCtrlClient代码更改。

"scopes": [ "vso.profile", "vso.work", "vso.work_write", "vso.code", "vso.code_write", "vso.code_manage" ] 

有谁知道问题是什么以及如何使API调用“AUTHORIZED”?

PS。在getProjectInfo的API文档,据说

* [Obsolete - Use the Projects API instead] Retrieve the version control information for a given Team Project 

但我们在哪里可以找到新的API来代替它???

回答

0

有关Project API的文档位于:CoreHttpClient2_2

要获取版本控制信息,可以使用带有includeCapabilities选项的getProject()方法。它将返回包含版本控制信息的IPromise。

capabilities:{[key:string]:{[key:string]:string}}。该项目具有一套 功能(例如流程模板&版本 控制)。

相关问题