2

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

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

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

4

1 回答 1

1

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

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

添加 Git 预接收挂钩

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

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

预定义的变量中,有一个变量System.PullRequest.PullRequestId,我们可以用它来获取pullRequestId.

在我们得到 之后pullRequestId,我们可以使用上面的 REST API 来获取提交消息或 PR 描述,然后验证它们。

于 2021-02-12T05:16:48.797 回答