JIRA插件开发-显示警报/通知

乔科普

我目前正在开发类型为Workflow post function的JIRA插件。

这意味着我没有使用vm文件(速度模板)。

我有一个扩展AbstractJiraFunctionProvider的Java类。它基本上使用SOAP调用Web服务(异步)以根据JIRA问题的状态更新远程系统。

我已经完成所有工作并将其配置为在完成某些JIRA状态转换时被触发。我试图做的是显示一条消息,以通知用户是否成功调用了Web服务。如何显示带有一些文本的弹出消息。我尝试JOptionPane.showMessageDialog(null,"Text","Text 2")了我的Plugin类,但这似乎对扩展AbstractJiraFunctionProvider的插件java类没有任何作用。有什么想法或想法让我尝试吗?

姆拉登B.

我有一个类似的问题,但到目前为止没有得到满意的答案。我的进一步研究将我引向了另一个方向(将所有内容记录到日志文件中,然后让jira管理员进行处理)。但是,您可以尝试使用另一个可用于此目的的工作流程插件模块:验证程序模块在用户提交转换对话框之后,但在转换被接受之前立即触发其代码(用于验证对话框中的所有输入参数对于当前转换是否有效)。因此,您可能采用一种使用验证器的方法来检查服务是否已启动,并抛出异常(如果不是)。当然,如果远程服务不可用,这种方法当然会阻止JIRA中的正常工作流程。

另一个解决方案(您可能会发现更方便的解决方案)是通过添加Webwork模块来扩展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,如果满足条件,该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文件,因为在升级过程中,您在那里进行的更改可能会丢失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章