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

3
我有一个受保护的主分支和只允许Squash合并的代码库。我想在PR完成后强制验证提交信息,以检查工程师是否在PR描述中放置了正确的内容。
我认为最好的方法是使用commit-msg hook。但是,我不确定如何让Azure DevOps在PR合并过程中包含并使用Git Hooks。
这个可能吗?如果不行,我愿意听取其他解决问题的建议。
1个回答

1
如何在Azure DevOps中完成PR后添加Git Hook commit-msg?
很抱歉目前没有这样的开箱即用的方法来实现此功能。但是有一个关于它的路线图用户声音,您可以查看它以获取更多信息,并且这个功能应该很快就会出现: Add Git pre-receive hooks 作为解决方法,我们可以使用REST API Pull Request Commits - Get Pull Request CommitsPull Request Commits - Get Pull Request Commits 并构建验证来验证提交消息或PR描述。
为了解决这个请求,我们可以在目标分支上添加一个“构建验证”,以调用上述REST API。 在以上REST API URL中,我们需要提供“ pullRequestId”才能使用REST API。
预定义变量中,有一个变量“ System.PullRequest.PullRequestId”,我们可以使用它来获取“ pullRequestId”。
获取“ pullRequestId”后,我们可以使用上述REST API获取提交消息或PR说明,然后进行验证。

1
谢谢Leo。pre-receive hook能解决我的问题吗?我不确定在完成pull request时会发生什么,但从你的pre-receive hook建议中,听起来像是在幕后进行了一次push。是这样吗? - MrPanucci
@MrPanucci,我不确定最终发布的功能会是什么样子。这需要在功能正式发布后进行测试或进行其他处理,以查看它是否能够满足我们的需求。但目前,没有直接的方法来实现您的需求,您可以考虑我提供的解决方法。 - Leo Liu
对于您建议的替代方案,是否有一种推荐的模式可以在管道中进行API身份验证?最好生成PAT吗? - MrPanucci
@MrPanucci,是的,你说得对,PAT是一个不错的选择。 - Leo Liu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接