VSTS REST API для создания ветки TFVC

Я пытаюсь автоматизировать некоторые задачи, связанные со сборкой, в том числе создание новой ветки релиза и определение сборки для каждого релиза. Я использую VSTS TFVC для управления версиями. Когда я пытаюсь сделать это с помощью REST API TFS, я не могу найти API для создания ветки (документация Microsoft).

Я вижу .NET API доступен для этого; не удалось найти его как REST API.


person dhilmathy    schedule 02.08.2018    source источник


Ответы (2)


На данный момент нет такого REST API для создания ветки, я отправил голос пользователя здесь, чтобы предложить эту функцию, вы можете пойти и проголосовать за нее, чтобы добиться этого в будущем.

В качестве обходного пути вы можете попробовать следующие способы создания ветки в коде или скрипте:


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

Точно так же, как вы видите на странице «Ветки», нет никакого способа создать ветку с помощью Rest API. И в основном вы можете читать/получать информацию только с помощью 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"
}
person Shayki Abramczyk    schedule 02.08.2018
comment
Спасибо за сценарий. Да, я знаю об этом, и я пытаюсь автоматизировать это с помощью скрипта Python. Мне было интересно, почему Microsoft не поддерживает это. - person dhilmathy; 02.08.2018