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, который включает информацию об управлении версиями.
Возможности: {[ключ: строка]: {[ключ: строка]: строка}}. Набор возможностей этого проекта (например, шаблон процесса и контроль версий).