ScriptRunner トリガーで自動化ルールを使用する際に、Jira ログに「Unexpected error executing rule with context TenantContext」エラーがスパムされる

プラットフォームについて: Data Center のみ。 - この記事は、 Data Center プラットフォーム

この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。

*Fisheye および Crucible は除く

要約

Jira アプリケーションのログに、次のスタック トレースを伴うエラーが返される。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 automation-rule-executor:thread-1 ERROR mlim [c.c.a.api.service.SingleRuleExecutorServiceImpl] Unexpected error executing rule with context TenantContext{environment=prod, clientKey='com.codebarrel.tenant.global', tenantId=TenantId{id='00000000-0000-0000-0000-000000bbbbbb'}}: AutomationEvent{traceId=f66c25c4-47cf-4959-ac88-ff1f563dc018, clientKey='com.codebarrel.tenant.global', triggerType=THIRD_PARTY_EVENT, type='com.onresolve.jira.groovy.groovyrunner:object-bean-updated-trigger', projectIds=[], timestamp=Tue Dec 19 06:46:29 UTC 2023, authorAccountId='JIRAUSER10000', auditItemBatchId=null, payload=‘OBJECT-42', ignoreOwnEvents=true, authorAutomationAddon=false, priority=5} com.codebarrel.api.JsonSupport$JsonDeserializationException: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'OBJECT': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (ByteArrayInputStream); line: 1, column: 9] at com.codebarrel.api.JsonSupport.toObject(JsonSupport.java:107) at com.codebarrel.api.JsonSupport.toObject(JsonSupport.java:124) at com.codebarrel.automation.api.event.AutomationEvent.getPayload(AutomationEvent.java:106) at com.codebarrel.automation.rulecomponent.jira.trigger.fieldchanged.FieldChangedTriggerExecutor.canHandle(FieldChangedTriggerExecutor.java:73) at com.codebarrel.automation.api.service.SingleRuleExecutorServiceImpl.validateExecution(SingleRuleExecutorServiceImpl.java:160) at com.codebarrel.jira.plugin.automation.queue.JiraAutomationQueueExecutor.lambda$processClaimedItem$1(JiraAutomationQueueExecutor.java:253) at com.codebarrel.jira.plugin.automation.service.execution.JiraThreadLocalExecutor.executeAsWithResult(JiraThreadLocalExecutor.java:67) at com.codebarrel.jira.plugin.automation.service.execution.JiraThreadLocalExecutor.executeAsWithResult(JiraThreadLocalExecutor.java:53) at com.codebarrel.jira.plugin.automation.queue.JiraAutomationQueueExecutor.lambda$processClaimedItem$4(JiraAutomationQueueExecutor.java:252) at com.atlassian.jira.util.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:50) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token ‘OBJECT’: was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (ByteArrayInputStream); line: 1, column: 9] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2391) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:745) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3635) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2734) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:902) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:794) at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4761) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4667) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3666) at com.codebarrel.api.JsonSupport.toObject(JsonSupport.java:105) ... 12 more

診断

  • ScriptRunner アドオンのバージョンが 8.12.0 または 8.18.0 と 8.20.0 でインスタンスにインストールされていて、Jira アセット以上が使用されています。

  • アセット オブジェクトの更新トリガーを使用して設定された自動化ルールが少なくとも 1 つあります。これは、現在「ベータ版」の Scriptrunner アドオンに由来するものです。

scriptrunner アドオンを使用したルール

原因

アセット オブジェクトの更新トリガーが Jira の自動化ルールに含まれていて、そのルールが有効になっている場合は常に、アセットを更新するたびに、ScriptRunner のアセット トリガーによって Jira アプリケーション ログに上記の例外がスローされます。この問題は ScriptRunner のバグが原因です。公開チケット SRJIRA-6983 で追跡されています。

ソリューション

回避策として、 ログとプロファイルに従って com.codebarrel.automation.api.service.SingleRuleExecutorServiceImpl のログ レベルを FATAL に引き上げます。注:ただし、これによって関連する Jira エラーに関連する自動化が非表示になる可能性があるため、理想的な回避策ではありません。

更新日時: 2024年05月31日)

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。