如何在 Azure DevOps 的 PR 完成时添加 Git Hook commit-msg?

How can I add Git Hook commit-msg on PR Completion in Azure DevOps?

我有一个带有受保护的 master 分支和仅启用压缩提交的存储库。我想在 PR 完成时强制验证提交消息。这是为了检查工程师是否在PR描述中放置了正确的内容。

我认为最好的方法是使用 commit-msg 挂钩。但是,我不确定如何让 Azure DevOps 在 PR 合并过程中包含和使用 Git 挂钩。

这可能吗?如果没有,我愿意接受有关如何解决问题的替代建议。

How can I add Git Hook commit-msg on PR Completion in Azure DevOps?

恐怕目前还没有这种开箱即用的方法来实现这一目标。但是有一个关于它的路线图用户声音,你可以查看它以获取更多信息,这个功能应该很快就会看到我们:

Add Git pre-receive hooks

作为解决方法,我们可以使用 REST API Pull Request Commits - Get Pull Request Commits and Pull Request Commits - Get Pull Request Commits 和构建验证来验证提交消息或 PR 描述。

要解决此请求,我们可以在目标分支上添加 构建验证 以在 REST API 之上调用.在上面的 REST API URL 中,我们可以知道如果我们想使用 REST APIs,我们需要提供 pullRequestId.

predefined variables中有一个变量System.PullRequest.PullRequestId,我们可以用它来得到pullRequestId

得到pullRequestId后,我们可以使用上面的RESTAPIs来得到commit message或PR description,然后验证它们。