Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Plugin resulting in "Method Not Allowed" after Confluence 9 upgrade

Dominik May 21, 2025

Hi

We have a custom plugin that worked well with Confluence 8.5.21 and now I'm trying to get it working for Confluence 9.2.4. I managed to upgrade and bundle all required dependencies so that it installs without error again.

However, when I now access the global plugin configuration or the per-space configuration, I simply get a page showing "Method Not Allowed":

confluence-9.2.4-method-not-allowed.png

I have no clue in which direction to search... nothing is logged in the atlassian-confluence.log file. Which method isn't allowed? Has Confluence become more restrictive? Or did my code changes (e.g. deprecated SettingsManager replaced with PluginSettingsFactory) have some unintended side-effect?

Any hints, ideas, or solutions would be highly appreciated.

Regards
Dominik

3 answers

1 vote
Robert Reiner _smartics_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 21, 2025

"Method Not Allowed" may have to do with HTTP Method (GET, POST, HEAD, PUT, ...). The HTTP Status Code would be 405. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/405.

Maybe the plugin creates a request and calls a REST service that does not support the method(s) it supported in the past?

You may have a look in the requests you are calling to render the config page. Maybe you find something the the browser logs?

Just guessing ...

EDIT: Since code 405 signals a client error it is often not logged or only logged on debug level on the server side. You may need to increase the log level to have such issues in the log.

1 vote
Piyush Annadate _ACE Pune_
Community Champion
May 21, 2025

Hello @Dominik ,
Check for the other logs as well, there should be something, not only the ERROR logs,WARN or INFO level should have something as well.

Same plugin is working on  previous version, but not on new - is that so? If so, you may need to check for the methods in your custom plugin - deprecated resource would be a case only. 

Dominik May 21, 2025

Hi @Piyush Annadate _ACE Pune_.

Thanks a lot for the quick reply. I will check the other logs.

Yes, the plugin worked perfectly with Confluence 8.5.21 (and many versions before that). It's a rather simple plugin to embed some diagrams on pages, but it also has a per-space and global configuration whose links show up in Confluence 9, but clicking on them causes the "Method Not Allowed".

For example, when installing the plugin and clicking on the 'Configure' button that appears in the Manage Apps screen, the URL it accesses is:

  • confluence/admin/eadiagram/ea-global-config-view.action

The atlassian-plugin.xml contains (among other things):

<web-item key="ea-global-config-tab" name="EA Diagram Global Configuration Link" section="system.admin/configuration">
<label key="eadiagram.config.title"/>
<description key="eadiagram.config.description"/>
<link>/admin/eadiagram/ea-global-config-view.action</link>
<condition class="com.atlassian.confluence.plugin.descriptor.web.conditions.ConfluenceAdministratorCondition"/>
</web-item>

And then it contains:

<xwork key="ea-config-actions" name="EA Diagram Configuration">
<package name="ea-global-config" extends="default" namespace="/admin/eadiagram">
<default-interceptor-ref name="validatingStack"/>
<action name="ea-global-config-view" class="eadiagram.action.EAGlobalConfigAction" method="executeView">
<result name="success" type="velocity">/templates/ea-global-config.vm</result>
</action>
<action name="ea-global-config-save" class="eadiagram.action.EAGlobalConfigAction" method="executeSave">
<result name="success" type="redirect">/admin/eadiagram/ea-global-config-view.action</result>
</action>
</package>
...
</xwork>

This has all worked fine before, so I'm confused if any of this is no longer valid in Confluence 9. Is there maybe a guide on how to migrate plugins from Confluence 8 to 9?

Regards
Dominik

Piyush Annadate _ACE Pune_
Community Champion
May 21, 2025

Best would be to post this over Developer forum - https://community.developer.atlassian.com/

Like Dominik likes this
0 votes
Dominik May 22, 2025

In the meantime, I found a very related question in the Developer forum (thanks for the hint, @Piyush Annadate _ACE Pune_) that suggests to use a doDefault() method instead of execute(). And that "magically" did the trick... no clue why.

Now my 'View' actions work: the global and per-space configuration forms are displayed.

(However, clicking on the 'Save' button now leads to HTTP 403 Forbidden errors and I haven't figured out yet why that happens... but that's now a new problem)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events