java - 如何使用 Stash API 对修改后的文件运行 PMD?

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

我希望对推送到 Stash 的修改文件运行 PMD 检查。如果 PMD 检查失败,推送就会失败。

根据我所读到的内容,我推断这些检查必须在预接收存储库 Hook 中完成。我已经使用 atlassian-plugin-sdk 创建了一个存储库插件,但我发现很难找到可以帮助我执行上述操作的相关类。

最佳答案

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

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

也就是说,我强烈建议您不要在预接收 Hook 中运行 PMD(或类似的东西)。虽然很方便,但它会让你推送 Stash 的速度变得非常慢。相反,我的建议是限制对 master 的推送,并在 PR 中运行分支构建。构建可以运行 PMD 以及您喜欢的任何其他代码检查,完成后将结果推送回 Stash。 Stash 还有一项设置,要求 PR 至少有一个绿色构建。

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

关于java - 如何使用 Stash API 对修改后的文件运行 PMD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960595/

相关文章:

java - Pmd 规则 : Too many static imports may lead to messy code in unitTest is not violated

bitbucket - 远程触发 Bamboo 仅在 PR 上从 BitBucket Server webhook 构建?

java - 如何使用 API 获取 Bitbucket 存储库中的所有问题

java - <T extends Comparable< 有问题吗? super T>>

java - 如何从 blobstore 中检索字节数组?

java - 无法从 PMD 中排除某些规则

git - 为什么我的 VSS2017 发布配置文件不会显示为推送到源代码管理的更改

不带表达式的 Java 开关

java - 移动服务器时 JSP java.lang.NullPointerException

java - Eclipse-PMD : error while installing through eclipse market place