如何添加另一个批量操作? [关闭]

问题描述 投票:0回答:1

Jira允许在different locations上添加网络片段。

我想写一个插件,添加另一个批量操作,但既不能找到一个位置(如果这完全是通过web fragement完成),也不是在Jira Plugin Module Types中提示如何添加这样的操作。从现有的插件(例如出口商),我得到的印象是必须有办法。

任何帮助赞赏。谢谢。

java jira jira-plugin atlassian-plugin-sdk
1个回答
0
投票

有可能这样做,这就是我做的:

我扩展了AbstractBulkOperation类并使用EventListener方法在afterPropertiesSet中添加此操作,如下所示:

ComponentAccessor.getBulkOperationManager().addBulkOperation(MyOperationClass.NAME_KEY, MyOperationClass.class);

你需要实现canPerformperform(实际操作),getOperationNamegetCannotPerformMessageKeygetNameKeygetDescriptionKey

我扩展了AbstractBulkOperationDetailsAction,但是BulkEditBeanSessionHelper无法自动装配,所以我引入了受保护的构造函数并将其获得:

protected MyActionClass()
{
super(null, ComponentManager.getComponentInstanceOfType(BulkEditBeanSessionHelper.class));

genericBulkWatchOperation = ComponentAccessor.getBulkOperationManager().getOperation(NAME_KEY);
}

你需要在这个类中实现getOperationDetailsActionNamedoDetailsdoDetailsValidationdoPerform方法。

我在Webwork中创建了atlassian-plugin.xml元素,如下所示:

<webwork1 key="key" name="name" class="java.lang.Object">
<actions>
<action name="path to action class" alias="Action">
<command name="details" alias="ActionDetails">
<view name="success">/secure/views/bulkedit/bulkchooseoperation.jsp</view>
<view name="input">/secure/views/bulkedit/bulkActiondetails.jsp</view>
<view name="error">/secure/views/bulkedit/bulkchooseoperation.jsp</view>
</command>
<command name="detailsValidation" alias="ActionDetailsValidation">
<view name="input">/secure/views/bulkedit/bulkActionconfirmation.jsp</view>
<view name="error">/secure/views/bulkedit/bulkActionconfirmation.jsp</view>
</command>
<command name="perform" alias="ActionPerform">
<view name="error">/secure/views/bulkedit/bulkActionerror.jsp</view>
</command>
</action>
</actions>
</webwork1>

JSP文件无法嵌入到插件中,我将它们部署到/secure/views/bulkedit

要包装它 - 你需要3个类(OperationActionEventListener),atlassian-plugin.xml中的webwork定义和atlassian-plugin.xml中的Event Listener定义。然后你需要JSP文件。您可以使用现有的并以它们为例。基本上我采用WatchIssue操作文件并以类比方式进行。

我强烈建议您查看JIRA代码以了解它们是如何做到的。

© www.soinside.com 2019 - 2024. All rights reserved.