1

現在、タイプ ワークフロー ポスト関数の JIRA プラグインを開発しています。

これは、vm ファイル (速度テンプレート) を使用しないことを意味します。

AbstractJiraFunctionProvider を拡張する Java クラスがあります。基本的には、SOAP を使用して Web サービスを (非同期で) 呼び出し、JIRA 課題のステータスでリモート システムを更新します。

特定の JIRA ステータス遷移が完了したときにトリガーされるように、すべてが機能し、構成されています。私がやろうとしているのは、Web サービスが正常に呼び出されたかどうかをユーザーに通知するメッセージを表示することです。テキスト付きのポップアップ メッセージを表示するにはどうすればよいですか。Plugin クラスを試しJOptionPane.showMessageDialog(null,"Text","Text 2")てみましたが、これは AbstractJiraFunctionProvider を拡張するプラグイン Java クラスからは何もしていないようです。私が試してみるべき考えやアイデアはありますか?

4

1 に答える 1

1

同様の質問がありましたが、これまでのところ満足のいく答えが得られませんでした。さらに調査した結果、別の方向にたどり着きました (すべてをログ ファイルに記録し、jira 管理者に処理を任せる)。ただし、この目的に使用できる別のワークフロー プラグイン モジュールを試すことができます:バリデーター モジュール. そのコードは、ユーザーが遷移ダイアログを送信した直後にトリガーされますが、遷移が受け入れられる前にトリガーされます (ダイアログのすべての入力パラメーターが現在の遷移に対して有効かどうかを検証するために使用されます)。そのため、バリデーターを使用してサービスが稼働しているかどうかを確認し、稼働していない場合は例外をスローするというアプローチをとることができます。もちろん、この方法では、リモート サービスが利用できない場合、JIRA での通常のワークフローを妨げています。

もう 1 つの解決策 (ケースにより便利な場合があります) は、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>

次に、クラスViewIssueを ExtendedViewIssue (上記参照) でオーバーライドし、パブリック メソッドを追加して、サービスが利用可能かどうかを確認します。そのメソッドは、問題を表示する 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 ファイルを再度編集する必要があることに注意してください。JSP ファイルに導入した変更は、アップグレード中に失われる可能性があるためです。

于 2013-09-17T08:36:23.723 に答える