我有一个带有受保护的主分支的存储库,并且仅启用了 squash 提交。我想在 PR 完成时强制验证提交消息。这是为了检查工程师是否在 PR 描述中放置了正确的内容。
我认为最好的方法是使用 commit-msg 钩子。但是,我不确定如何让 Azure DevOps 在 PR 合并过程中包含和使用 Git Hooks。
这可能吗?如果没有,我愿意接受有关如何解决问题的替代建议。
我有一个带有受保护的主分支的存储库,并且仅启用了 squash 提交。我想在 PR 完成时强制验证提交消息。这是为了检查工程师是否在 PR 描述中放置了正确的内容。
我认为最好的方法是使用 commit-msg 钩子。但是,我不确定如何让 Azure DevOps 在 PR 合并过程中包含和使用 Git Hooks。
这可能吗?如果没有,我愿意接受有关如何解决问题的替代建议。
如何在 Azure DevOps 的 PR 完成时添加 Git Hook commit-msg?
恐怕目前还没有这种开箱即用的方式来实现这一目标。但是有一个关于它的 On Roadmap 用户的声音,你可以检查它以获取更多信息,这个功能应该很快就会看到我们:</p>
作为解决方法,我们可以使用 REST API Pull Request Commits - Get Pull Request Commits和Pull Request Commits - Get Pull Request Commits并构建验证来验证提交消息或 PR 描述。
为了解决这个请求,我们可以在目标分支上添加一个构建验证来调用上面的 REST API。在上面的 REST API URL 中,我们可以知道,如果我们想使用 REST API,我们需要提供pullRequestId
.
在预定义的变量中,有一个变量System.PullRequest.PullRequestId
,我们可以用它来获取pullRequestId
.
在我们得到 之后pullRequestId
,我们可以使用上面的 REST API 来获取提交消息或 PR 描述,然后验证它们。