这是我运行 atlas-create-jira-plugin
时得到的结果后跟 atlas-create-jira-plugin-module
选择选项1: Component Import
.
问题是所有教程示例似乎都有由旧 SDK 版本生成的插件描述符(根本不会与较新版本的 SDK/Jira 一起部署),它们不具有 Atlassian-Plugin-Key
,所以我找不到导入组件的方法。
我正在使用 SDK 6.2.3 和 Jira 7.1.1。
任何提示 - 如何解决这个问题?
最佳答案
匿名是正确的。旧的做事方式是把 <component-import>
在您的 atlassian-plugin.xml
中添加标签.新方法也是推荐使用 Atlassian Spring Scanner .当您使用 atlas-jira-create-plugin
创建插件时和你的pom.xml
有<Atlassian-Plugin-Key>
标签和依赖 atlassian-spring-scanner-annotation
和 atlassian-spring-scanner-runtime
那么你正在使用新的方式。
如果您同时拥有这两个依赖项,则您使用的是 Atlassian Spring Scanner 版本 1.x。如果你只有 atlassian-spring-scanner-annotation
那么您使用的是 2.x 版。
您不必省略/注释掉 Atlassian-Plugin-Key
在您的 pom.xml
而且您不必输入component-import
在您的 atlassian-plugin.xml
.
例如,您想为您的插件添加许可并需要导入组件 PluginLicenseManager
.您只需直接查看代码,您的构造函数可能如下所示:
@Autowired
public MyMacro(@ComponentImport PluginLicenseManager licenseManager) {
this.licenseManager = licenseManager;
}
你的课是这样的:
@Scanned
public class MyMacro implements Macro {
如果我没记错,请务必检查
null
因为有时 Atlassian Spring Scanner 无法注入(inject)组件。我认为在版本 1 中,写一个 @EventListener
,它无法注入(inject) ConversionContext
.但是在编写宏时,它能够注入(inject) ConversionContext
.
关于jira-plugin - atlassian-plugin.xml 包含组件导入的定义。设置 Atlassian-Plugin-Key 时不允许这样做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008446/