TFS Rest API check-in to Version Control

☆樱花仙子☆ 提交于 2019-12-02 06:54:27

问题


From a VSTS extension I need to be able to check-out, edit, and check-in (on-prem TFVC/TFS repo v2015.3)

In the documentation https://www.visualstudio.com/en-us/docs/integrate/api/tfvc/overview it is not clear if there is an APi to do that

MSFT implemented it for their own Web Access "Code" Editor use: https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/2216206-provide-check-in-check-out-functionality-through-t#{toggle_previous_statuses}

So, there is a way to achieve this. I`ve tried to reverse engineer how they did it per Browser Debugging, but the minified/bundled code is not easy to read.

Can somebody please just give me an example on how to do the check-in of source-controlled items per REST api in JS/TypeScript? Thanks!


回答1:


A sample code for your reference with createChangeset() method:

/// <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();



回答2:


There isn’t the Rest API (public/released by microsoft) that can check-in changes like edit code and check-in changes (save) on web access.

I submitted a user voice here, you can vote and track it.




回答3:


Found solution to my own problem, will now try: https://www.visualstudio.com/en-gb/docs/integrate/extensions/reference/client/api/tfs/versioncontrol/tfvcrestclient/tfvchttpclient2_2#method_createChangeset



来源:https://stackoverflow.com/questions/40319758/tfs-rest-api-check-in-to-version-control

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!