Blank page displayed when loading Permission Scheme configuration in Jira

お困りですか?

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

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

症状

When accessing the Permission Scheme configuration page for a project, a blank page will be displayed and the following error will be thrown in the logs:

java.lang.NullPointerException
at com.atlassian.jira.projectconfig.contextproviders.ProjectPermissionContextProvider.getContextMap(ProjectPermissionContextProvider.java:85)
at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.initContextMap(CacheableContextProviderDecorator.java:70)
at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.getContextMap(CacheableContextProviderDecorator.java:46)
at com.atlassian.plugin.web.descriptors.DefaultWebPanelModuleDescriptor$ContextAwareWebPanel.getHtml(DefaultWebPanelModuleDescriptor.java:141)
at com.atlassian.jira.projectconfig.tab.WebPanelTab.getTab(WebPanelTab.java:75)
at com.atlassian.jira.projectconfig.servlet.PanelServlet.outputTab(PanelServlet.java:163)
at com.atlassian.jira.projectconfig.servlet.PanelServlet.doGet(PanelServlet.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


The following exception can also appear in the atlassian-jira.log:

TP-Processor10 ERROR      [500ErrorPage.jsp] Exception caught in 500 page null
java.lang.NullPointerException
	at com.atlassian.jira.projectconfig.contextproviders.ProjectPermissionContextProvider.getContextMap(ProjectPermissionContextProvider.java:85)
	at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.initContextMap(CacheableContextProviderDecorator.java:70)
	at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.getContextMap(CacheableContextProviderDecorator.java:46)
	at com.atlassian.plugin.web.descriptors.DefaultWebPanelModuleDescriptor$ContextAwareWebPanel.getHtml(DefaultWebPanelModuleDescriptor.java:141)
	at com.atlassian.jira.projectconfig.tab.WebPanelTab.getTab(WebPanelTab.java:75)
	at com.atlassian.jira.projectconfig.servlet.PanelServlet.outputTab(PanelServlet.java:163)
	at com.atlassian.jira.projectconfig.servlet.PanelServlet.doGet(PanelServlet.java:136)

環境

Jira Server / Data Center on any version from 8.0.0.

根本原因

Resolution 1 - preferred

1) Identify the affected project ID

  • Go to ⚙ > Projects
  • Search for the Key or Name of the affected project
  • In the Actions Column Icon, click triple dots menu and hover the mouse cursor over the "Edit Menu"
  • In the status bar of the browser in the URL string you will see the actual PROJECT ID (highlighted in red rectangle - project ID 10202 in the example below):


2) Use another, working project to navigate to Project Permissions, i.e. Jira -> Another Project -> Project Settings -> Permissions -> Use a different scheme. This will take you to the "Associate Permission Scheme to Project" of the working project. For example:

Here the project ID is 10100 – this is for the working project

3) Now the trick is to change that project ID in the URL string of the working project, from the good project ID to the one of non working one. In this example change 10100 to 10202 and hit Enter. This will take you to the "Associate Permission Scheme to Project" screen of the non working project.

4) Set the default permission scheme and click associate -- this should fix the issue.

Additional Note

If you came here regarding this error: "No permission scheme is associated with project" that is caused when we try to delete a project missing a permission scheme, please perform a "Project Reindex" before attempting to delete the project.


Resolution 2 – if Resolution 1 doesn't work for some reason, then the same can be done via a direct database update

データベースの変更を行う場合は 必ず事前にバックアップを取得してください。可能な場合はテスト サーバーで変更を試すことをおすすめします。


This problem can be fixed by manually associating the project to the Default Permission Scheme: 

  1. Identify which projects do not have a Permission Scheme associated with them: 

    SELECT * FROM project WHERE ID NOT IN (SELECT source_node_id FROM nodeassociation WHERE sink_node_entity='PermissionScheme');
  2. Get the ID of the project(s) returned; (if the result is null, try Jira displays a blank page when viewing the Notifications page in Project Administration, or throws a NullPointerException when adding a new SMTP mail server )
  3. Jira を停止します。

  4. Insert the project permission scheme association data into nodeassociation table:

    INSERT INTO nodeassociation VALUES (<project_id>, 'Project', 0, 'PermissionScheme', 'ProjectScheme', NULL);

    (info)  Replace <project_id> with the id from query in step 1.

    This will map the Default Permission Scheme to the project

  5. Jira の起動
最終更新日 2024 年 4 月 16 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.