2016-08-09 1 views
0

При реализации виджета расширения TFS наша команда пытается использовать VSO API для определения текущего инструмента управления версиями TFVC или Git. Мы обнаружили, что API в VersionCtrlRestClient может вернуть информацию о проекте. Но следующий код всегда терпит неудачу с ошибкой 401 NOT AUTHORIZED.Visual Studio Team Services (был VSO) SDK getProjectInfo сбой при попытке создать расширение TFS

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, чтобы заменить его ???

ответ

0

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

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

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