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 アドオンに由来するものです。
原因
アセット オブジェクトの更新トリガーが Jira の自動化ルールに含まれていて、そのルールが有効になっている場合は常に、アセットを更新するたびに、ScriptRunner のアセット トリガーによって Jira アプリケーション ログに上記の例外がスローされます。この問題は ScriptRunner のバグが原因です。公開チケット SRJIRA-6983 で追跡されています。
ソリューション
回避策として、 ログとプロファイルに従って com.codebarrel.automation.api.service.SingleRuleExecutorServiceImpl のログ レベルを FATAL に引き上げます。注:ただし、これによって関連する Jira エラーに関連する自動化が非表示になる可能性があるため、理想的な回避策ではありません。
この内容はお役に立ちましたか?