【问题标题】:Visual Studio Team Services (was VSO) SDK getProjectInfo fail when try to create TFS extension尝试创建 TFS 扩展时,Visual Studio Team Services(以前是 VSO)SDK getProjectInfo 失败
【发布时间】:2016-08-10 12:26:11
【问题描述】:

在实现 TFS 扩展 Widget 时,我们的团队尝试使用一些 VSO API 来确定当前的版本控制工具是 TFVC 还是 Git。我们发现VersionCtrlRestClient中有一个API可以返回项目信息。但是下面的代码总是会因为 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。在getProjectInfo的API文档中说

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

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

【问题讨论】:

    标签: tfs azure-devops tfs-2015 vssdk


    【解决方案1】:

    关于 Project API 的文档在这里:CoreHttpClient2_2

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 2016-12-21
      • 2015-04-15
      相关资源
      最近更新 更多