Hi All,
Recently I have upgraded JIRA from v7.9.2 to v8.2.5.
But am unable to Enable one plugin (cp-jira-facade-7). This plugin compatible with jira v7. What is the use of this plugin?
When i tried to enable the plugin throwing error please find the below logs:
Plugins issue
___ FAILED PLUGIN REPORT _____________________
2 plugins failed to load during JIRA startup.
'pl.craftware.jira.cp-jira-facade-7' - 'cp-jira-facade-7' failed to load.
Cannot start plugin: pl.craftware.jira.cp-jira-facade-7
Unable to resolve pl.craftware.jira.cp-jira-facade-7 [245](R 245.0): missing requirement [pl.craftware.jira.cp-jira-facade-7 [245](R 245.0)] osgi.wiring.package; (&(osgi.wiring.package=com.atlassian.jira.bc.issue.search)(version>=7.0.0)(!(version>=8.0.0))) Unresolved requirements: [[pl.craftware.jira.cp-jira-facade-7 [245](R 245.0)] osgi.wiring.package; (&(osgi.wiring.package=com.atlassian.jira.bc.issue.search)(version>=7.0.0)(!(version>=8.0.0)))]
It was loaded from /var/atlassian/application-data/jira/plugins/installed-plugins/cp-jira-facade-7-2.0.0.jar
'com.midori.jira.plugin.excelautomation' - 'Better Excel Automation for Jira' failed to load.
Error creating bean with name 'xls-api-accessor': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.midori.jira.plugin.commons.service.AbstractDynamicApiAccessor] from ClassLoader [com.midori.jira.plugin.excelautomation [225]]
Failed to introspect Class [com.midori.jira.plugin.commons.service.AbstractDynamicApiAccessor] from ClassLoader [com.midori.jira.plugin.excelautomation [225]]
com/midori/jira/plugin/commons/util/RenderingResult
com.midori.jira.plugin.commons.util.RenderingResult not found by com.midori.jira.plugin.excelautomation [225]
It was loaded from /var/atlassian/application-data/jira/plugins/installed-plugins/plugin.1438161193885885288.better-excel-automation-for-jira-4.0.0.jar
The select conversion method need the JSON in very specific format.
So you'll need to prepare a return object with that format.
Based on what you provided, I'm expecting the vmInfo object returned by httpBuilder.request to look something like this (as you would deeclarie it in groovy)
[
name:'dummy',
location:"don't care",
tags:[
app:'appname',
product:'aem',
type:'dispatcher']
]
So if I start with building a replacement variable with this data, I can use that to construct the output object
def vmInfo = [name:'dummy', location:"don't care", tags:[app:'appname', product:'aem', type:'dispatcher']]
//we're only interested in the tags ... I've opted to include both tag key and value sepearated by colon, but you can adjust that format
def tags = vmInfo.tags.collect{k,v-> "$k : $v"}
//normally, the query should come from your rest api with
//def query = queryParams.getFirst("query") as String
// but I used this for testing
def query = 'prod'
//this is the object we need to return
def singleSelectRet = [
items : tags.collect{tag ->
[
value: tag,
label: tag,
html: tag.replaceAll(/(?i)$query/) { "<b>${it}</b>" }
]
},
total : tags.size(),
footer : "Select a tag"
]
return Response.ok(new JsonBuilder(singleSelectRet).toString()).build()
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.