如何使用Stash API在修改后的文件上运行PMD?

时间:2014-09-21 15:08:58

标签: java pmd bitbucket-server atlassian-plugin-sdk

我希望对正在推送到Stash的已修改文件运行PMD检查。如果PMD检查失败,推送应该失败。

根据我的阅读,我推断这些检查必须在预接收存储库钩子中完成。我使用atlassian-plugin-sdk创建了一个存储库插件,但是我发现很难找到有助于我执行上述操作的相关类。

1 个答案:

答案 0 :(得分:1)

这可能有所帮助,也可能没有帮助。

https://bitbucket.org/atlassianlabs/stash-filesize-hook-plugin/

您可能还需要ContentService:

https://developer.atlassian.com/static/javadoc/stash/latest/api/reference/com/atlassian/stash/content/ContentService.html

那说我强烈建议你在预接收挂钩中运行PMD(或类似的东西)。虽然方便,但它会让你对Stash的推动非常缓慢。相反,我的建议是限制推送到主人,并在你的PR上运行分支构建。构建可以运行PMD以及您喜欢的任何其他代码检查,在结束时将结果推送回Stash。 Stash还有一个设置,要求PR至少有一个绿色版本。

同样,您可能需要考虑前往Answers,因为它有一个围绕Atlassian问题构建的更大社区。