2016-10-29 8 views
1

С расширением VSTS мне нужно, чтобы иметь возможность отъезда, редактировать и заезд (на прем v2015.3 репо TFVC/TFS)ТФС Rest API проверить в управление версиями

В документация https://www.visualstudio.com/en-us/docs/integrate/api/tfvc/overview не ясно, есть ли APi сделать что

MSFT реализовали его для своего собственного Web Access использования редактора «кода»: https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/2216206-provide-check-in-check-out-functionality-through-t# {toggle_previous_statuses}

Итак, есть способ для достижения этой цели. Я попытался перепроектировать, как они это делали для каждой отладки браузера, но минимизированный/сложный код читать непросто.

Может кто-нибудь, пожалуйста, просто дайте мне пример того, как выполнять регистрацию элементов, контролируемых источником, для REST api в JS/TypeScript? Благодаря!

+0

Есть ли причина, вы должны использовать REST API вместо объектной модели клиента? Я не вижу документально подтвержденного API, а это значит, что даже если кто-то это выяснит, он может сломаться в будущем. – DaveShaw

+0

План состоит в том, чтобы реализовать полную функциональность как автономное расширение VSTS, потому что я не хочу никаких зависимостей от установки клиента VS, никакого развертывания каких-либо .NET/COM-сборок для клиента, без перенаправления на собственные веб-серверы и т. Д. Я просто хочу запустить все в браузере (страница веб-узла веб-доступа TFS) на стороне клиента. Во всяком случае, есть ли способ получить доступ к локальному COM из выполнения кода браузера? Или блокировка песочницы –

ответ

0

Существует не Rest API (общедоступный/выпущенный микрософт), который может вносить изменения, такие как редактирование кода и внесение изменений (сохранение) в веб-доступ.

Я отправил пользователю голос here, вы можете проголосовать и отследить его.

3

пример кода для вашей справки с createChangeset() метод:

/// <reference path="typings/index.d.ts" /> 

import * as vm from 'vso-node-api/WebApi'; 
import * as vss from 'vso-node-api/interfaces/Common/VSSInterfaces'; 
import * as tfv from 'vso-node-api/TFVCApi' 
import * as tfi from 'vso-node-api/interfaces/TFVCInterfaces'; 

var collectionUrl = "https://xxxxxx.visualstudio.com"; 
let token: string = "xxxxxx"; 
let creds = vm.getPersonalAccessTokenHandler(token); 
var connection = new vm.WebApi(collectionUrl, creds); 
let vstsTF: tfv.ITfvcApi = connection.getTfvcApi(); 

async function createCS(){ 
    var csdata = { 
      comment: "test", 
      changes: [ 
       { 
        changeType: tfi.VersionControlChangeType.Add, 
        item: { 
         path: "$/TFVCBranches/Test/3.txt", 
         contentMetadata: { encoding: 65001 }, 
        }, 
        newContent: { 
         content: "Placeholder file for new folder", 
         contentType: tfi.ItemContentType.RawText 
        } 
       }] 
     }; 
    (<any>vstsTF).createChangeset(csdata); 

} 

createCS(); 
+0

Eddie. Если я изменил VersionControlChangeType на «.Edit», у меня возникли проблемы с регистрацией. Кажется, что Add прекрасно работает, но TfvcChangeset не хватает некоторых атрибутов, которые мне пришлось бы передавать, но я еще не мог определить, какие атрибуты отсутствуют. Не могли бы вы проверить и показать пример для проверок типа «Редактировать»? THXs –

+0

@ FerdiÖztürk Вам нужно указать свойство «version» в «item», чтобы указать на последнюю версию элемента, который вы хотите отредактировать. –