通过 Azure DevOps API 修改 MR 合并提交消息

问题描述 投票:0回答:1

为了在 Azure DevOps 中为我们的团队引入适当的工作流,我试图找到一种方法将合并请求的合并提交消息设置为合并请求的标题。出于某种原因,Azure DevOps 将合并提交消息默认设置为

Merged PR#: <title>
,向消息添加不需要的前缀。无法自定义此行为,如 Microsoft 开发人员社区 中的这个(5 岁)问题 中所述。最近,有人建议在此线程中使用来自构建管道的 Azure DevOps API 来设置自定义消息。我已成功尝试从我的管道访问 API,但我找不到在 Azure DevOps 中注册我的自定义消息的方法。

当我发送带有正确合并选项的请求时(如 这篇文档 中所述),API 返回更新的拉取请求信息。

例如,当我用这个正文发送请求时:

{
    "completionOptions": {
        "mergeStrategy": "squash",
        "mergeCommitMessage": "something"
    }
}

API 正确返回拉取请求数据:

{
    <...PR data...>
    "completionOptions": {
        "mergeCommitMessage": "something",
        "squashMerge": true,
        "mergeStrategy": "squash"
    }
    <...more PR data...>
}

所以我假设消息已经更新。但是当我转到 Azure DevOps 上的待处理合并请求时,消息与以前相同: PR merge commit message

当我取消选中“自定义合并提交消息”框并继续合并时,行为是相同的并且我的自定义消息(基本上是合并请求标题)没有保留。

我是否遗漏了一些额外的信息以放入请求中?或者 Azure DevOps 的 Web 界面是否出于某种原因覆盖了我的选项?

azure-devops azure-pipelines azure-devops-rest-api
1个回答
0
投票

completionOptions
仅在您将PR设置为自动完成时应用。

你需要把这个添加到你的身体里:

"autoCompleteSetBy":  {
    "id":  "7a9a9b44-a2f1-6dfd-a7f6-54354353453"
 }     

“id”应该是创建 PR - Project Build User Account 的用户。

结果:

© www.soinside.com 2019 - 2024. All rights reserved.