Jira の自動化 Data Center - 「サービス プロキシが破棄されました」というエラーのためにすべてのルールの実行に失敗する
プラットフォームについて: Data Center のみ。 - この記事は、 Data Center プラットフォーム。
この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。
*Fisheye および Crucible は除く
要約
「サービス プロキシが破棄されました」というエラーのために Jira の自動化ルールを実行できません。影響を受けたルールの例の監査ログにアクセスすると、ルールがトリガーされていることがわかりますが、「失敗」のステータスと次のエラーが表示されます。
1
2
Unexpected error executing rule:
org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException: service proxy has been destroyed
診断
Jira アプリケーション ログを確認すると、次のエラーが見つかります。
1
2
3
4
5
6
7
8
9
10
11
2022-09-20 00:33:56,954-0700 automation-rule-executor:thread-3 ERROR someuser [c.c.a.api.service.ComponentChainImpl] Unexpected runtime error executing component for config 'XXXXXXX':
com.atlassian.util.concurrent.LazyReference$InitializationException: org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException: service proxy has been destroyed
at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:92)
at com.codebarrel.jira.plugin.automation.template.JiraTemplateRendererContextProviderFactory.getContextProviders(JiraTemplateRendererContextProviderFactory.java:98)
at com.codebarrel.automation.rulecomponent.jira.common.renderer.IssueInputSubstitutionRenderer.compile(IssueInputSubstitutionRenderer.java:153)
at com.codebarrel.automation.rulecomponent.jira.condition.jql.JqlCondition.executeWithIssues(JqlCondition.java:59)
at com.codebarrel.automation.api.component.executor.IssueRequiredExecutor.execute(IssueRequiredExecutor.java:34)
at com.codebarrel.automation.api.component.executor.IssueRequiredExecutor.execute(IssueRequiredExecutor.java:17)
at com.codebarrel.automation.api.component.branch.condition.IfBlock.lambda$matchCondition$1(IfBlock.java:53)
原因
この問題の正確な根本原因は完全には明らかではありませんが、通常、Jira の自動化 (A4J) を無効化した後に、アドオン ScriptRunner のインストール後に再度有効化した場合に発生することがわかっています。A4J の拡張機能を含むアドオンがこれらの拡張機能を読み込む方法に問題があり、最終的に A4J が不安定な状態になるのではないかと考えられます。
ScriptRunner はそのようなアドオンの一例に過ぎませんが、A4J 拡張機能を含むアドオンは他にもあり、これが問題の原因となる可能性があることにご注意ください。
現在、ScriptRunner チームは次の公開バグ チケットでこの問題を調査しています。 https://productsupport.adaptavist.com/browse/SRJIRA-6234
以下の手順に従うことが、A4J ルールの実行の失敗を再現する 1 つの方法であることがわかりました。
Jira Server/Data Center を任意の 9.3.0 バージョンにインストールします(A4J 8.0.3 にバンドルされています)
ScriptRunner を⚙>[アプリの管理] > [新しいアプリの検索] ページから、最新バージョンにインストールします
Jira Software プロジェクトを作成し、プロジェクト内で自動化ルールを設定します (
プロジェクト設定 > プロジェクト自動化 )これは課題作成イベントでトリガーされます。
その結果、受信者のメール アドレスが適切に構築されず、受信者はメールを受信しません。
そのルールの監査ログを確認します
正常に実行されるはずです
⚙ > [ アプリの管理] > [アプリの管理] ページに移動し、A4J を無効にしてから再度有効にします。
先ほど作成した自動化ルール テストをトリガーする Jira 課題を作成します。
自動化ルールをトリガーする新しい Jira 課題を作成します
先ほど作成したルールの監査ログを確認します
「サービス プロキシが破棄されました」というエラーで失敗します
ソリューション
この問題を解決し、A4J を安定した状態に戻すには、さまざまな方法があります。いずれの方法でも、日常業務に影響を与えないように、必ず保守の時間枠を設定してください。
解決策 1: すべての Jira ノードのローリング スタートを実行します (単一ノード環境の場合は、Jira アプリケーションを再起動します)
解決策 2: ⚙ > [アプリの管理] > [アプリの管理] ページから A4J アドオンを無効にしてから再度有効にします
この内容はお役に立ちましたか?