问题描述
我正在尝试设置 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 以具有 Contribute
、Contribute to pull requests
和 Create 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 不需要批准,您可以从分支策略中禁用它。