Hello,
I’ve noticed that in the last few EAPs, during an AJAX call, the method javax.ws.rs.core.Response.ok().build()
now produces an HTML Response. I replaced the call by javax.ws.rs.core.Response.status(Response.Status.OK).noContent().build()
.
Is this a wanted behavior?
Cheers,
Robin
Hi @mihirvarsani,
Thanks for your reply.
I’ve tried that but it didn’t help unfortunately. BTW, I’m using jakarta.ws.rs-api package.
Any other ideas are much appreciated.
Thanks
Hey folks, we got some feedback recently and concluded that it makes sense to change the method signature, get rid of Jackson as a parameter type, and replace it with String.
We will be introducing this change ASAP and will try to ship EAP soon with further details:
Change:
com.atlassian.jira.issue.IssueInputParameters#addProperty(String propertyKey, JsonNode propertyValue)
changed to addProperty(String propertyKey, String propertyValue)
The same change JsonNode
→ String
happened also in:
com.atlassian.jira.issue.IssueInputParameters#properties()
will return Map<String, String> instead of Map<String, JsonNode>
com.atlassian.jira.issue.UpdateIssueRequest#getProperties()
will return Map<String, String> instead of Map<String, JsonNode>
com.atlassian.jira.issue.UpdateIssueRequest.UpdateIssueRequestBuilder#issueProperties
will now accept Map<String, String>
com.atlassian.jira.issue.util.IssueUpdateBean#getProperties
will return Map<String, String>
com.atlassian.jira.issue.util.IssueUpdateBean#addProperties
will now accept Map<String, String>
com.atlassian.jira.bc.issue.IssueService.CreateValidationResult#CreateValidationResult
and getPropertieswill also work with Map<String, String>
Same with com.atlassian.jira.bc.issue.IssueService.UpdateValidationResult#UpdateValidationResult
and its getProperties
Instructions:
Serialize the value before passing it to the method and deserialise after reading it.
Another point to implement universally accessible ObjectMapper factory which can be customized per-app, including REST context.
We would have loved this capability, but its too late now given Confluence and Bitbucket have shipped.
We continue to bundle Jackson in our app, and have implementations of MessageBodyWriter (Java(TM) EE 7 Specification APIs) etc which utilise our custom configuration of ObjectMapper
WebResourceManager is depcrecated and i am not able to use requireResource() method. Do we have an alternate method for this.
Hi,
Any idea why I’m getting this error, I’ve made the class empty and it’s still complaining
[INFO] [talledLocalContainer] 'com.mxgraph.jira.plugins.drawio' - 'Draw.io JIRA plugin' failed to load.
[INFO] [talledLocalContainer] Failed to parse configuration class [com.mxgraph.jira.plugin.action.Configure]; nested exception is java.io.FileNotFoundException: OSGi resource[classpath:webwork/action/CommandDriven.class|bnd.id=181|bnd.sym=com.mxgraph.jira.plugins.drawio] cannot be resolved to URL because it does not exist
[INFO] [talledLocalContainer] OSGi resource[classpath:webwork/action/CommandDriven.class|bnd.id=181|bnd.sym=com.mxgraph.jira.plugins.drawio] cannot be resolved to URL because it does not exist
The code is:
package com.mxgraph.jira.plugin.action;
import com.atlassian.jira.web.action.JiraWebActionSupport;
import com.atlassian.jira.security.request.SupportedMethods;
import com.atlassian.jira.security.request.RequestMethod;
import com.atlassian.jira.security.xsrf.RequiresXsrfCheck;
import org.springframework.stereotype.Component;
import javax.inject.Inject;
@SupportedMethods({RequestMethod.GET, RequestMethod.POST})
@Component
public class Configure extends JiraWebActionSupport {
@Inject
public Configure() {}
@Override
@RequiresXsrfCheck
public String execute() throws Exception
{
return "success";
}
}
Any idea what’s the problem?
Thanks
The announced changes to WebResourceManager
, WebResourceUrlProvider
and UrlMode
pretty much sound look like breaking changes which make it impossible to support older JS / JSM 9.x and newer JS / JSM 10.x at the same time.
Do we in future have to publish two versions of the same plugin to achieve this? What is Atlassian’s recommendation to this issue?
I’m facing the same problem. Are there any updates on this?
tnx @adam.labus I am now currently trying EAP-06, and now I’m getting the the same ClassNotFoundException org.apache.commons.lang.StringUtils not found
but from a 3rd part package,
here is the screenshot of the error
any ideas? cheer! @FilipNowak @AndrzejKotas
As you can read here https://developer.atlassian.com/platform/marketplace/dc-apps-platform-7/#what-is-changing
commons-lang:commons-lang3
will continue to remain available in the OSGi context.
try use
import org.apache.commons.lang3.StringUtils;
Our App has a feature which requires the ability to parse parameters from the XML that defines a “web-item-provider” into the class that is set in the XML as the class tag value. (i.e. the web-item-provider class which should extend your com.atlassian.plugin.web.api.provider.WebItemProvider interface)
I have tested this, and the context variable used as a parameter of the method: com.atlassian.plugin.web.api.provider.WebItemProvider#getItems, does not parse the XML params to the method’s context parameter.
I have also tried adding a context provider to the web-item-provider and seeing if the params for that are parsed through as well but I found this also does not work.
Here is an example of the web-item-provider XML I tried to use to get the params passed through to the com.atlassian.plugin.web.api.provider.WebItemProvider#getItems method: (it shows trying both normal param and via adding a context provider, neither of which seem to pass params through)
<web-item-provider key='test-foo' name='SR generated web item provider - test-foo' section='find_link/test-key' class='com.foo.fragments.SomeWebItemProvider'>
<param name='test' value='some param 1' />
<context-provider class='com.foo.fragments.SomeContextProvider'>
<param name='othervar' value="some context param 1"/>
</context-provider>
</web-item-provider>
Hi @mkemp, could you let us know if you can add this XML param parsing ability or tell us if there is a workaround to get params from the XML into the com.atlassian.plugin.web.api.provider.WebItemProvider#getItems method?
Hi @AndrzejKotas @MarekTokarski
In the latest version 10.0.0-m0009, the buttons in the footer of the workflow preview (issue view) are displayed incorrectly. I didn’t notice this problem in the other dialogs.
Cheers
Adam
thanks @adam.labus, we’re aware of it. WIP to fix
Tagging @AndrzejKotas too as this is a blocker for us.
Hi,
I started installed the latest Jira 10 eap07 build via the docker image and I cannot delete users via the user management.
When clicking “Delete User” in User Management (EDIT: but also when clicking or Edit or anything from the context menu), a spinner shows up.
In the network I can see that the dialogue in the response tab, but there is an error in the console:
Uncaught Error: Syntax error, unrecognized expression: #deleteuser_link_xxx@azuread.lab.resolution.de-dialog
jQuery 30
batch.js:123:8303
Is that a known issue?
Best regards
Christopher
Hi, we are having issues with Jira startup in Docker after upgrade to EAP07 due to the following error:
JIRA-Bootstrap ERROR [c.a.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.plugin.event.events.PluginFrameworkStartingEvent@77174476] from the invoker [com.atlassian.event.internal.ComparableListenerInvoker@210e648d] java.lang.RuntimeException: Secret service configuration file is invalid, review the secrets-config.yaml file.. Listener: com.atlassian.jira.plugin.JiraOsgiContainerManager event: com.atlassian.plugin.event.events.PluginFrameworkStartingEvent
Hi @Clark, you should be able to access params directly from WebItemProviderModuleDescriptor
. I have created a small test to demo how it can be achieved here: Bitbucket.
thanks, we’re looking into it.
The format of the secrets-config.yaml file has changed between EAPs, and the old one is no longer compatible. The quickest way to solve this is to delete the file, as it will be automatically recreated by Jira. You’ll find it in your jirahome directory if running a single-node environment, or in your sharedhome if you’re running a cluster.