以编程方式完成 TFS Pull 请求

2024-04-02

使用Microsoft.TeamFoundationServer.Client (15.112.1)连接到TFS 2017 更新 2服务器我们可以获取有关现有 PR 的详细信息,如下所示:

var connection = new VssConnection(collectionUri, credentials);
var client = connection.GetClient<GitHttpClient>();
var pr = await client.GetPullRequestByIdAsync(pullRequestId);

另外,我们可以像这样创建新的 PR:

var pr = await client.CreatePullRequestAsync(
        new GitPullRequest
        {
          SourceRefName = "master",
          TargetRefName = "develop",
          Title = "[Automatic Merge]"
        },
        projectName, repositoryName);

此外,我们还可以像这样对 PR 进行投票:

var pr = await client.CreatePullRequestReviewerAsync(
            reviewer, projectName, repositoryName, pullRequestId, authorizedIdenity.Id.ToString());

有什么办法可以完成PR(覆盖或不存在的分支 政策)并继续合并操作?


GitHttpClient 有一个更新拉请求异步方法。

要完成拉取请求,您需要更新Status您的拉取请求的属性。并使用更新拉请求异步完成 PR 的方法。

请确保设置 CompletionOptions 属性来指定是否合并提交、删除源分支等。

所以你的代码如下所示

pr.Status = PullRequestStatus.Completed
pr.CompletionOption = new GitPullRequestCompletionOption() { SquashMerge = true };
client.UpdatePullRequest(pr, repositoryId, pullRequestId);

EDIT:

ByPassPolicy 尚不适用于已发布版本的 Microsoft.TeamFoundationServer.ExtendedClient。

但是,如果您安装预发布的 NuGet 包v15.122.1-预览版图书馆的Microsoft.TeamFoundationServer.ExtendedClient,您将看到选项 ByPassPolicy 作为 GitPullrequestCompletionOptions 类中的属性。您可以将其设置为 true 以绕过策略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式完成 TFS Pull 请求 的相关文章

随机推荐

  • 安全地使用 PHP exec 函数

    我正在编写一个 PHP 脚本 旨在通过 exec 函数运行可执行文件 ffmpeg exe 问题是我已经读到使用 exec 函数可能存在安全风险 应该尽可能避免 我一直在研究如何安全地运行 exec 函数 唯一遇到的问题是使用 escape
  • 在docker容器内运行pulseaudio来录制系统音频

    我正在尝试使用 Selenium 设置一个 Docker 容器 该容器使用 ffmpeg 录制带有系统音频的浏览器 我使用 Xvfb 处理视频 不幸的是 在音频方面 这似乎更加棘手 我想我应该在容器内设置一个虚拟的脉冲音频接收器 这将允许我
  • 如何使用 haskell graphViz 绘制图表

    我计划使用 Haskell graphViz 绘制图表 我是 Haskell 的新手 所以这对我来说相当困难 有人可以给我看一个简单的例子吗 实际上我需要一个非常简单的示例 以便我可以理解它并在我正在处理的场景中使用它 我在尝试安装 Cha
  • 自定义调整后的生存曲线中的线型 ggadjustedcurves (survminer, ggplot2)

    我正在尝试绘制调整后的生存曲线 但正在努力按组更改线类型 我可以使用典型的 ggplot2 语言自定义绘图的其他方面 但我在改变线型方面遇到了困难 Example library survival library survminer fit
  • 使用 CSS 突出显示所选行

    我们如何使用 css 突出显示表格中的选定行 有什么办法可以做到这一点吗 假设 选定 的意思是 用鼠标悬停在上面 tr hover background color FF0000 您还可以使用 font weight bold color
  • Javascript API - 通过向用户提供白名单选项来限制域

    我的应用程序提供了一个 API 密钥和 Javascript 代码以放置在其网站上 类似于 google anayytics 代码 API 中的所有调用都使用 JSONP 与我们的服务器进行通信 由于 API 密钥很敏感 我们的用户会回来要
  • 如何转换条形图的 y 轴 (ggplot2)

    样本数据test a b c 1 a x NA 2 b x 5 1e 03 3 c x 2 0e 01 4 d x 6 7e 05 5 e x 5 1e 03 6 f y 6 2e 05 7 g y 1 0e 02 8 h y 2 5e 0
  • 在其他vue组件文件中使用vue组件

    我尝试在其他组件 App vue 中使用vue组件 Global vue 但是有 组件挂载失败 模板或渲染函数未定义 error 全局vue
  • Android O 预览版 findViewById 编译错误

    我尝试测试Android O Developer Preview第二阶段 项目创建后 我只是点击构建并运行 但没有任何成功 Android默认生成的代码如下 Toolbar toolbar Toolbar findViewById R id
  • 与 libbluetooth.so 链接

    在 Ubuntu 14 04 上 我尝试做一个蓝牙设备列表的小示例 但在编译这个简约演示时 我遇到了一个关于与蓝牙共享库链接的简单问题http people csail mit edu albert bluez intro c404 htm
  • 具有边框半径和线性渐变的 CSS 过渡

    鉴于我的 CodePenhttps codepen io scottmgerstl pen MpMeBy https codepen io scottmgerstl pen MpMeBy这是我有问题的图像布局 span class prof
  • 根据事件日志触发powershell

    我有一个用 PowerShell 编写的命令行参数脚本 它接受来自任务计划程序的服务器名称 然而 我的要求是在 SQL 服务器重新启动时执行脚本 因此我已将 PowerShell 脚本附加到事件 17069 但我无法动态传递事件源 在本例中
  • 如何设置 hibernate-mapping 以允许长度超过 255 个字符的字符串?

    所以我试图通过创建一个博客引擎来学习 我正在使用 Hibernate 和 MySQL 这是我的 Post 类的休眠映射
  • JoptionPane 显示确认对话框

    我有一个Java程序 当我运行该程序时 它会给我一个 GUI 如我所附 当我想关闭它时 它会弹出一个确认对话框 如果我按 是 按钮 它将使用以下命令退出程序System exit public static void main String
  • 如何对列表进行排序,其中正值位于负值之前,并且值分别排序?

    我有一个包含正数和负数混合的列表 如下所示 lst 1 2 10 12 4 5 9 2 我想要完成的任务是对列表进行排序 其中正数位于负数之前 也分别排序 期望的输出 1 2 9 10 12 5 4 2 我能够计算出第一部分的排序 其中正数
  • 将具有相同键的节点添加到属性树中

    我正在使用 Boost 的属性树来读取和写入 XML 使用我制作的电子表格应用程序 我想将电子表格的内容保存到 xml 这是一项学校作业 因此我需要使用以下 XML 格式
  • Swift 版本构建配置

    在 Swift v4 2 中 他们引入了扩展Bool toggle 我从早些时候就有了这个扩展 现在当我用 Xcode10 编译时它说Ambiguous use of toggle 如果 Swift 版本是 4 2 或更高版本 我试图让它忽
  • iOS 8 UIView 在键盘出现时不向上移动

    我正在开发一个聊天应用程序 其中有UITableView and a UIView含有一个UITextField and a UIButton在里面 我正在使用以下代码来移动UIView当键盘出现时向上 void keyboardWillS
  • Spring Security Saml 和 SP 应用程序的无状态会话

    我尝试运行启动示例 spring security saml boot https github com vdeotaris spring boot security saml sample https github com vdenota
  • 以编程方式完成 TFS Pull 请求

    使用Microsoft TeamFoundationServer Client 15 112 1 连接到TFS 2017 更新 2服务器我们可以获取有关现有 PR 的详细信息 如下所示 var connection new VssConne