Visual Studio Team Services (был VSO) SDK getProjectInfo завершается ошибкой при попытке создать расширение TFS

При реализации виджета расширения TFS наша команда пытается использовать некоторый API-интерфейс VSO, чтобы определить, что текущим инструментом управления версиями является TFVC или Git. Мы обнаружили, что есть API в VersionCtrlRestClient может вернуть информацию о проекте. Но следующий код всегда завершается с ошибкой 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 вызывать "AUTHORIZED"?

PS. В документе API getProjectInfo, говорят

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

Но где мы можем найти новый API, чтобы заменить его???

1 ответ

Документация по Project API находится здесь: CoreHttpClient2_2.

Чтобы получить информацию об управлении версиями, вы можете использовать метод getProject() с опцией includeCapabilities. Он вернет IPromise, который включает информацию об управлении версиями.

Возможности: {[ключ: строка]: {[ключ: строка]: строка}}. Набор возможностей этого проекта (например, шаблон процесса и контроль версий).

Другие вопросы по тегам