【发布时间】:2019-04-02 19:18:38
【问题描述】:
我正在努力实现一个脚本,该脚本将(希望)在以下情况下有所帮助:
我们的团队正在使用 TFS 2013,我们的源代码存储在多个 git 存储库中。
我们的开发过程是这样的:
- 软件开发人员编写代码、提交代码并将提交推送到 tfs git 存储库上的功能分支。
- 开发人员通过 tfs 网络界面创建拉取请求,请求将功能分支拉入我们的主分支并邀请团队成员审核更改。
- 如果/当更改获得批准时,更改将合并到主分支中。
脚本的来源是我们有一些自动构建和测试作业(一些作为构建定义在 tfs 中运行,一些在 tfs 之外运行),并且希望从这些作业中获得反馈作为拉取请求的一部分,所以审稿人也得到了这个反馈。这在很大程度上受到了传统 gerrit/jenkins 设置的启发。
我们的计划是使用 TFS REST api 处理拉取请求: https://www.visualstudio.com/integrate/api/git/pull-requests 并执行以下操作:
- 监控 tfs 服务器何时创建新的拉取请求并查找功能分支名称。
- 在我们的测试系统中找到相关的验证工作(硬件冒烟测试、静态代码分析等)。
- 将“机器人审阅者”添加为拉取请求的审阅者。
- 作为机器人审阅者,添加带有不同测试结果摘要的评论。
- 根据结果,对拉取请求投赞成/反对票。
根据上面链接中 tfs REST api 的文档,所有这一切似乎都是可能的,除了在拉取请求中发表评论的能力。
是否有另一个 api 用于与 tfs 中的拉取请求交互,可以在拉取请求中添加评论?
【问题讨论】:
-
TFS 2013 中不提供拉取请求,您必须先升级到 2015。
-
@GiulioVian 实际上,git pull requests 被引入到 TFS 2013 更新 4 以及用于与它们交互的其余 api。
-
这个确切的功能是 TFS 2015 的一部分,以分支策略的形式出现。当您打开拉取请求时,您的分支策略可以配置为运行特定构建,并且仅在构建成功完成时才合并。