允许 RenovateBot 自动完成 Azure 中的拉取请求,同时需要一个批准

问题描述

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

renovate.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 个批准,那么我们将被淘汰运气)

解决方法

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

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

有两个审批助手应用程序(“renovate-approve”和“renovate-approve-2”)可以将 Renovate 的所有自动合并拉取请求标记为已批准。但这两个应用程序仅适用于 GitHub。有关更多详细信息,请参阅here

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