通过VSTS API合并一个分支



是否有一种方法可以使用API合并一个分支?

我在这里看了看,但这似乎并没有为我提供我想要的东西(推动单个文件很乏味(:https://www.visualstudio.com/en-us/docs/integrate/api/git/pushes

我想,如果没有使用REST API的方法可以通过git命令通过私有构建代理上的powershell脚本进行操作?

no,在VSTS GIT或版本控制API中似乎没有任何合并操作。

使您拥有官方的"构建和发布步骤":"在脚本中运行git命令",这确实使您可以运行git命令,然后推回VSTS-GIT repo。
该页面具有一个带有合并示例的脚本(虽然简单的BAT脚本,而不是PowerShell的脚本(:

@echo off
ECHO SOURCE BRANCH IS %BUILD_SOURCEBRANCH%
IF %BUILD_SOURCEBRANCH% == refs/heads/master (
   ECHO Building master branch so no merge is needed.
   EXIT
)
SET sourceBranch=origin/%BUILD_SOURCEBRANCH:refs/heads/=%
ECHO GIT CHECKOUT MASTER
git checkout master
ECHO GIT STATUS
git status
ECHO GIT MERGE
git merge %sourceBranch% -m "Merge to master"
ECHO GIT STATUS
git status
ECHO GIT PUSH
git push origin
ECHO GIT STATUS
git status

首先,请参阅VONC的解决方案。

其次,您可以通过拉动请求REST API进行操作。(在构建/发布过程中创建拉动请求,将拉的请求状态更新为已完成(

作为VONC解决方案的后续,您需要授予VSTS构建服务帐户权限以贡献存储库。

  1. 在VSTS项目的菜单中,选择"版本控制"选项卡
  2. 关于所有GIT存储库的安全性,或者特定的GIT存储库选择"项目集合构建服务"
  3. 单击"允许"以"贡献"one_answers"创建分支"

注意:也需要阅读,但应该已经允许。

您还需要创建构建变量:system.prefergit并将该值设置为true。

这些步骤详细介绍了VONC提供的链接

最新更新