2016-10-29 85 views
1

从VSTS扩展我需要能够检查出,编辑,和签入(的预置型TFVC/TFS回购v2015.3)TFS REST API签入到版本控制

https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/2216206-provide-check-in-check-out-functionality-through-t# {toggle_previous_statuses}

所以,有一种方法来实现这一目标:文档https://www.visualstudio.com/en-us/docs/integrate/api/tfvc/overview如果有一个API来做到这一点

MSFT实施适合自己的WEB访问“代码”编辑器中使用,目前尚不清楚。我试图通过浏览器调试来反向工程,他们是如何做到的,但缩小/捆绑代码并不容易阅读。

有人可以请给我一个例子,说明如何在JS/TypeScript中为每个REST api执行源代码控制项目的签入?谢谢!

+0

有没有你需要使用REST API的理由而不是客户端对象模型?我无法看到API记录,这意味着即使有人弄明白了,它也有可能在未来破裂。 – DaveShaw

+0

由于我不希望对客户端VS安装有任何依赖关系,也没有将任何.NET/COM部署到客户端,没有重定向到我自己的Web服务器等,因此计划将实现完整功能作为自包含的VSTS扩展。我只想在浏览器(TFS Web访问中心页面)客户端运行所有内容。无论如何,有没有办法从浏览器代码执行中访问本地COM?或者是沙盒阻塞 –

回答

0

没有剩下的API(公开/微软发布)可以签入更改,如编辑代码和检入更改(保存)在Web访问。

我提交了用户语音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”,则无法检入。看起来添加工作正常,但TfvcChangeset缺少一些属性,我将不得不传递,但我不能确定哪些属性丢失。你能否检查并显示“编辑”类型签入的例子? THXs –

+0

@FerdiÖztürk您需要在“item”中指定“version”属性以指向您想要编辑的项目的最新版本。 –