用于创建 TFVC 分支的 VSTS REST API

VSTS REST API for creating TFVC Branch

我正在尝试自动化一些与构建相关的任务,其中包括为每个版本创建新的发布分支和构建定义。我使用 VSTS TFVC 进行版本管理。当我尝试使用 TFS REST API 执行此操作时,我找不到任何 API 用于创建分支 (microsoft documentation)。

我可以看到 .NET API 可以执行此操作;无法找到 REST API.

正如您在 "Branches" 页面中看到的那样,没有任何方法可以使用 Rest API 创建分支。大多数情况下,您现在只能 read/get 使用版本控制 API 的信息。

如果您不想使用 C#,可以使用 Powerhshell 自动执行此过程:

param(

)
begin
{
 # load the required dll's
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.VersionControl.Client")   
}

process
{
 $server = New-Object Microsoft.TeamFoundation.Client.TeamFoundationServer("http://tfsserver:8080/tfs/DefaultCollection")

 $vcServer = $server.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer]); 

 $changesetId = $vcServer.CreateBranch('$/Demo/Code/Main', '$/Demo/Code/Dev/Branch', [Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::Latest, $null, "New branch from script", $null, $null, $null)

 "Branch created with ChangesetID: $changesetId"
}

暂时没有这样的 REST API 来创建分支,我已经提交了一个 user voice here 来建议该功能,你可以去投票支持它以实现它。

作为解决方法,您可以尝试以下方法在代码或脚本中创建分支:


tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]