首页 > 解决方案 > 允许 RenovateBot 在 Azure 中自动完成拉取请求,同时需要一次批准

问题描述

我正在尝试设置RenovateBot。我已经将它配置为自动合并它发出的所有拉取请求,但它似乎无法做到,因为我们还有一个存储库策略要求至少一个批准。

更新.json

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:js-app"
  ],
  "baseBranches": ["main"],
  "lockFileMaintenance": { "enabled": true },
  "automerge": true
}

在拉取请求中,它说它将自动批准:

Renovate configuration
 Schedule: At any time (no schedule defined).

 Automerge: Enabled.

♻️ Rebasing: Whenever PR is behind base branch, or rename PR to start with "rebase!".

 Immortal: This PR will be recreated if closed unmerged. Get config help  if that's undesired.

This PR has been generated by Renovate Bot .

RenovateBot 日志中没有错误

INFO: Repository started (repository=<ORG>/DependencyUpdater)
       "renovateVersion": "24.78.3"
 INFO: Dependency extraction complete (repository=<ORG>/DependencyUpdater)
       "baseBranch": "main",
       "stats": {
         "managers": {"npm": {"fileCount": 1, "depCount": 1}},
         "total": {"fileCount": 1, "depCount": 1}
       }
 INFO: PR updated (repository=<ORG>/DependencyUpdater, branch=renovate/pin-dependencies)
       "pr": 5,
       "prTitle": "Pin dependency renovate to 24.78.3"
 INFO: Repository finished (repository=<ORG>/DependencyUpdater)
       "durationMs": 8798

Renovate 以具有ContributeContribute to pull requestsCreate branch权限的服务用户身份登录。

如何配置 Renovate/Azure DevOps 以允许自动完成这些拉取请求?

我的想法是,我需要以某种方式让 Renovate 自行批准这些拉取请求(尽管我想这只能起作用,因为我告诉 ADO 至少需要一次批准。如果它需要 2 次批准,那么我们就不走运了)

标签: azure-devopsrenovate

解决方案


通常,默认情况下,自动合并工具仅在满足所有必需的分支策略(如果有)时才会自动合并 PR。Renovate也是如此。

如果你有强制性的 Pull Request 审查,那么这意味着Renovate无法自动合并它自己的 PR,直到这样的审查发生。

有两个批准帮助应用程序(' renovate -approve ' 和' renovate -approve-2 ')可以将Renovate的所有自动合并拉取请求标记为已批准。但这两个应用程序仅适用于 GitHub。有关更多详细信息,您可以在此处查看

Renovate没有任何可用的功能或扩展可以自动批准 PR 或绕过 Azure DevOps 上所需的审查。因此,目前在自动合并之前,所需的审阅者必须手动批准 PR。或者,如果 PR 不需要批准,您可以从分支策略中禁用它。


推荐阅读