Assets: Managing roles in Object Schema leads to error
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
要約
While configuring an Object Schema, opening the tab to manage the roles leads to the error "Something went wrong. Contact administrator"
In the atlassian-jira.log, you may find an entry like this:
2023-11-27 13:17:09,194+0100 http-nio-8542-exec-25 ERROR admin 797x1052x1 12ybxyv 0:0:0:0:0:0:0:1 /rest/insight/1.0/config/role/99 [c.r.j.p.i.c.w.a.r.exception.mapper.DefaultMapper] Unexpected exception was thrown while processing the request
java.lang.NullPointerException
at com.riadalabs.jira.plugins.insight.channel.web.api.rest.services.role.RoleAssemblerInJira.assembleRoleActorEntry(RoleAssemblerInJira.java:56)
at com.riadalabs.jira.plugins.insight.channel.web.api.rest.services.role.RoleAssemblerInJira.lambda$assembleRoleEntry$0(RoleAssemblerInJira.java:46)
環境
Jira 5.4.1 or later
診断
To find the cause, check on the database using the following query:
select * from "AO_8542F1_IFJ_ROLE_ACTOR" afira, "AO_8542F1_IFJ_ROLE" afir
where afir."OBJECT_SCHEMA_ID" = <schema_id> and afira."ROLE_AOID" = afir."ID";
Substitute <schema_id> with the id of the Object Schema showing this issue.
All queries were written and tested on PostgreSQL. Other DB products might need syntax adjustments, and your setup might require database name and schema to be provided for table names.
If your database is case sensitive, and any query returns an error related to the table not found, please observe if, in the database, the queried table name is capitalized or in lowercase.
原因
At least one of the rows returned by the query will show an empty TYPE_PARAMETER
. The value should be either a Userkey (for example, JIRAUSER10000) or a Groupname (for example, jira-administrators).
This looks similar to JSDSERVER-12193 - Getting issue details... STATUS however, the bug has been fixed and invalid users can no longer be added to the roles. At this moment it is unclear how the invalid situation can be created. If you have any reproduction steps that lead to this situation, please submit them to Atlassian Support.
ソリューション
データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。
The incorrect row can be deleted or updated with a group name or a user key to fix the situation.
To delete:
delete from "AO_8542F1_IFJ_ROLE_ACTOR" where "ID" = <ID from diagnosisquery>
To update:
update from "AO_8542F1_IFJ_ROLE_ACTOR" set "TYPE_PARAMETER" = <group_or_user> where "ID" = <ID from diagnosisquery>
Substitute <ID from diagnosisquery> with the ID from the Diagnosis Query that holds the empty cell.
Substitute <group_or_user> with a valid user key or group name.