0

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

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 调用“授权”?

PS。的API文档中getProjectInfo

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

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

4

1 回答 1

0

有关项目 API 的文档在这里:CoreHttpClient2_2

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

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

于 2016-08-10T04:26:11.750 回答