我目前正在开发一个类型为Workflow post函数的JIRA插件。
这意味着我没有使用vm文件(速度模板)。
我有一个扩展AbstractJiraFunctionProvider的java类。它基本上使用SOAP来调用Web服务(异步)来更新远程系统的JIRA问题。
我已经完成所有工作并配置为在完成某些JIRA状态转换时被触发。
我想要做的是显示一条消息,通知用户是否已成功调用Web服务。
如何显示包含某些文本的弹出消息。
我尝试JOptionPane.showMessageDialog(null,"Text","Text 2")
到我的插件类
但是这似乎没有从扩展AbstractJiraFunctionProvider的插件java类做任何事情。
我有什么想法或想法可以尝试吗?
答案 0 :(得分:1)
我有a similar question但到目前为止没有得到满意的答案。我的进一步研究使我走向了一个不同的方向(将所有内容记录到日志文件中并让jira管理员处理它)。但是,您可以尝试使用另一个工作流程插件模块,您可以将其用于此目的:a validator module。它的代码在用户提交转换对话框后立即触发,但在转换被接受之前(它用于验证对话框中的所有输入参数是否对当前转换有效)。因此,您可以采用一种方法来使用验证器检查服务是否已启动,如果不是则抛出异常。当然,这样一来,如果远程服务不可用,就会阻止JIRA中的正常工作流程。
另一种解决方案(您可能会发现对您的案例更方便)是通过添加网络模块来扩展JIRA View操作。首先,在atlassian-plugin.xml文件中添加一个新的webwork模块:
<webwork1 key="view-issue" name="View issue with warnings" class="java.lang.Object">
<description>View issue with warnings</description>
<actions>
<action name="com.my.jira.plugin.blah.blah.ExtendedViewIssue" alias="ViewIssue">
<view name="success">/secure/views/issue/extended-viewissue.jsp</view>
<view name="issuenotfound">/secure/views/issuenotfound.jsp</view>
<view name="permissionviolation">/secure/views/permissionviolation.jsp</view>
<command name="moveIssueLink" alias="MoveIssueLink">
<view name="error">/secure/views/issue/viewissue.jsp</view>
</command>
</action>
</actions>
</webwork1>
然后,使用您的ExtendedViewIssue覆盖类ViewIssue(参见上文)并添加一个公共方法来检查您的服务是否可用,并且将从显示该问题的JSP页面调用该方法:
public boolean isServiceAvailable() {
// TODO your code that checks if the service is available
return false;
}
编辑文件 extended-viewissue.jsp 并添加一个div,如果条件满足,将包含您的警告。
<ww:if test="/isServiceAvailable() == false">
<div class="aui-message warning">
<span class="aui-icon icon-warning">The service is not available!</span>
</div>
</ww:if>
如果做得恰当,它应该是这样的:
请记住,每次JIRA升级后,您都必须再次编辑JSP文件,因为您在此处引入的更改可能会在升级过程中丢失。