我正在进行的项目有2个长期的功能分支以及主分支。
要完全自动化部署,我希望在部署从VSTS版本发布时随时从master创建拉动请求到这两个功能分支。
VSTS中的哪种工具可以让我创建拉取请求作为发布任务?
答案 0 :(得分:5)
您可以在发布期间通过Pull Request REST API创建拉取请求。
有Invoke HTTP REST API task但可能不符合您的要求。
简单的方法是您可以通过 PowerShell任务:
来完成简单样本:
param(
[string]$project,
[string]$repo,
[string]$sourceBranch,
[string]$targetBranch,
[string]$title,
[string]$des,
[string]$token
)
$bodyObj=@{
"sourceRefName"="refs/heads/$sourceBranch";
"targetRefName"= "refs/heads/$targetBranch";
"title"= "$title";
"description"="$des";
}
$bodyJson=$bodyObj| ConvertTo-Json
$uri="https://XXX.visualstudio.com/DefaultCollection/$project/_apis/git/repositories/$repo/pullRequests?api-version=3.0"
Write-Output $bodyJson
Write-Output $uri
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "test",$token)))
$result= Invoke-RestMethod -Method POST -Uri $Uri -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $bodyJson
参数:-project "XXX" -repo "XXX" -sourceBranch "XX" -targetBranch "XX" -title "XX" -des "XX" -token [$(System.AccessToken) or personal access token]
答案 1 :(得分:1)
您可以安装Create Pull Request扩展名,它使您能够从具有多目标分支的发布管道中自动创建提取请求: