andreyvmarkelov / andreymarkelov-atlas-plugins-requestedfields Goto Github PK
View Code? Open in Web Editor NEWHTTP requested fields
HTTP requested fields
I am receiving a 404 error when I create a custom field and click the "Edit JSON HTTP Settings" link.
For single value fields a type-ahead ability would be beneficial.
For multiple-value fields a combo using a filter entry controlling a multiple selectable list in one side, and a list of currently selected items in other side would be nice.
Capsule uses a long Username as an API key for authentication. Unfortunately due to a bug in the Base64 encoding, this ends up created line returns in the HTTP header.
Plug-in does not set HTTP Accept header to application/json or application/xml
I have fixed both of these and will do a pull request shortly.
It's lovely to have Capsule entries appearing in Jira fields!
Hello Andrey,
The plugin does not work with Jira 7.6.x.
Can you please fix it.
Thanks a lot,
René
When we get a dropdown field list using XML, it returns it in alphabetical order. Since we are using it to list build numbers (example: r568873.dev), we would really like it to be in reverse alpha order so that the newest build is first in the list.
Hello,
I'm running JIRA 6.3.4 from WAR, Tomcat 7.0.55 with HTTP Feed Custom Fields plugin.
When starting JIRA, plugin complains about initialization of json-request-custom-field-searcher.
Relevant part of Tomcat log is listed below
Regards, Leos
2014-08-21 10:50:54,256 Thread-38 ERROR [jira.issue.fields.CustomFieldImpl] Exception during searcher initialization of the custom field ru.andreymarkelov.atlas.plugins.requestedfields:json-request-custom-field-searcher:
com.atlassian.cache.CacheException: java.lang.IllegalMonitorStateException: Not reentrant!
at com.atlassian.cache.memory.DelegatingCache$DelegatingLoadingCache.get(DelegatingCache.java:270)
at com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.getConfigSchemesForCustomField(CachedFieldConfigSchemePersister.java:111)
at com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl.getConfigSchemesForField(FieldConfigSchemeManagerImpl.java:84)
at com.atlassian.jira.issue.fields.CustomFieldImpl.getConfigurationSchemes(CustomFieldImpl.java:1470)
at ru.andreymarkelov.atlas.plugins.requestedfiedls.SelectTextCustomFieldSearcher.getConfigs(SelectTextCustomFieldSearcher.java:59)
at ru.andreymarkelov.atlas.plugins.requestedfiedls.SelectTextCustomFieldSearcher.init(SelectTextCustomFieldSearcher.java:143)
at ru.andreymarkelov.atlas.plugins.requestedfiedls.SelectTextCustomFieldSearcher.init(SelectTextCustomFieldSearcher.java:29)
at com.atlassian.jira.issue.fields.CustomFieldImpl$CustomFieldSearcherLazyRef.create(CustomFieldImpl.java:2265)
at com.atlassian.jira.issue.fields.CustomFieldImpl$CustomFieldSearcherLazyRef.create(CustomFieldImpl.java:2233)
at com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:182)
at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:325)
at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:92)
at com.atlassian.jira.issue.fields.CustomFieldImpl.getCustomFieldSearcher(CustomFieldImpl.java:1949)
at com.atlassian.jira.issue.fields.CustomFieldImpl.(CustomFieldImpl.java:275)
at com.atlassian.jira.issue.fields.DefaultCustomFieldFactory.copyOf(DefaultCustomFieldFactory.java:81)
at com.atlassian.jira.issue.managers.DefaultCustomFieldManager.getCustomFieldsFromIds(DefaultCustomFieldManager.java:396)
at com.atlassian.jira.issue.managers.DefaultCustomFieldManager.getCustomFieldObjects(DefaultCustomFieldManager.java:381)
at com.atlassian.jira.issue.CustomFieldManager$getCustomFieldObjects.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
at com.onresolve.scriptrunner.runner.JqlFunctionsManagerImpl.createIndexingCustomField(JqlFunctionsManagerImpl.groovy:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
at com.onresolve.scriptrunner.runner.JqlFunctionsManagerImpl.this$dist$invoke$1(JqlFunctionsManagerImpl.groovy)
at com.onresolve.scriptrunner.runner.JqlFunctionsManagerImpl$RegisterJqlFunctions.methodMissing(JqlFunctionsManagerImpl.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:837)
at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1134)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1087)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:137)
at com.onresolve.scriptrunner.runner.JqlFunctionsManagerImpl$RegisterJqlFunctions.run(JqlFunctionsManagerImpl.groovy:256)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalMonitorStateException: Not reentrant!
at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:319)
at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:92)
at com.atlassian.jira.issue.fields.CustomFieldImpl.getCustomFieldSearcher(CustomFieldImpl.java:1949)
at com.atlassian.jira.issue.fields.CustomFieldImpl.(CustomFieldImpl.java:275)
at com.atlassian.jira.issue.fields.DefaultCustomFieldFactory.copyOf(DefaultCustomFieldFactory.java:81)
at com.atlassian.jira.issue.managers.DefaultCustomFieldManager.getCustomFieldObject(DefaultCustomFieldManager.java:328)
at com.atlassian.jira.issue.managers.DefaultCustomFieldManager.getCustomFieldObject(DefaultCustomFieldManager.java:339)
at com.atlassian.jira.issue.fields.DefaultFieldManager.getCustomField(DefaultFieldManager.java:609)
at com.atlassian.jira.issue.fields.DefaultFieldManager.getField(DefaultFieldManager.java:141)
at com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister$FieldConfigSchemeByFieldCacheLoader.load(CachedFieldConfigSchemePersister.java:216)
at com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister$FieldConfigSchemeByFieldCacheLoader.load(CachedFieldConfigSchemePersister.java:211)
at com.atlassian.cache.memory.MemoryCacheManager$3$1.load(MemoryCacheManager.java:132)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3573)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
at com.google.common.cache.LocalCache.get(LocalCache.java:3970)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4834)
at com.atlassian.cache.memory.DelegatingCache$DelegatingLoadingCache.get(DelegatingCache.java:264)
... 48 more
Dear support,
I have a question related with how to import values to a custom field from API REST endpoint request.
Imagine this scenario: you have a custom field and the format of this custom field is a select where you can select one value, of a list of values. This values are imported from an API REST request. Then, you can select one of this values.
So, you have the field "My custom field" with the values: "Value 1", "Value 2" and "Value 3" that have been retrived by the endpoint:
Whose response is a JSON with the values: {"Value 1", "Value 2", "Value 3"}
Then, you can select in this custom field the value, for example: "Value 1". And when the issue is saved, the value of "My custom field" is set to "Value 1".
Is this possible with HTTP Feed Custom Fields?
BTW, version of JIRA is JIRA Cloud latest version.
Thank you!
I gave it a quick whirl and it renders as a plain textbox on a service desk customer portal page. When creating an issue from inside Jira it renders as expected. Did I misconfigure it, or are there future plans to support Service Desk if not?
As both xml and json commonly encode complex data types, it would be nice to have the ability to leverage on it, in the same way the database field plugin does:
See especially the configuration section of its documentation:
https://bitbucket.org/wimdeblauwe/jdvp/wiki/Home
For example it could be a common use case to display the name attribute of objects when viewing, but use the id attribute for computation.
Greetings!
This add-on needs an update for JIRA 7.1. It currently shows compatibility up to JIRA 7.0, but not for JIRA 7.1.
I am currently running JIRA 7.1.9 and the add-on is working for the most part, but it seems like it may be causing problems with indexing.
When i try to retrieve the list of options with a field configuration i get a ArrayList of Null.
final Options ops = optionsManager.getOptions(fieldConfig);
Can any one try this?
Plugin HTTP Feed Custom Fields do a great job at populating custom field with values from remote location. However its equipped with only specific searchers e.g. JSON Request Custom Field Searcher. When searching user must type exact string of some custom field value. It's not user-friendly specially in case list of custom field is numerous and it's values are similar, because user must guess exact string.
Could you implement free text searcher or renderer that allows autocomplete function into your plugin, please?
Hi, can you show example for "Request Type" field in "Configure JSON Request Field". Are there any rules for filling this field? Service writes that a blank request came, as if this field is empty.
But in this field:
{ "first_name":"aaaaa",
"last_name":"bbbb"}
Thank you.
Hello,
I own your pluggin, but I'd like to send a POST request, with issue number in the body, or in the get parameters... but how to achieve that ?
please help.
bye
I try to get the select list from a https URL but it always fail with
avax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching foo.bar found
I already add the SSL certificates into JIRA but it looks like this plugin does not get the SSL certificates from JIRA. Does anyone help on this part? thanks you so much.
longlone
Hi,
is there a way to use NTLM or Kerberos Authentication?
Basic-Auth is not allowed for the Server that i am trying to get data from.
// Thanks
can the configured GET request url reference value of a 'parent' JIRA or custom field?
For example:
If another custom field had the value 'fstream1423401'
and the internal REST api I want to call is http://myserver/utils_api/releases_by_project_id/{project_id}
Can the plugin be configured with some sort of syntax to reference the value of that other 'parent' custom field, and dynamicaly construct the URL
http://kbdash/utils_api/classic/releases_by_project_id/fstream1423401
??
I think this other plugin claims to support that, but wondering if your plugin can do it too.
The other plugin:
https://confluence.valiantys.com/display/nFeed/Add-on+Overview
Excerpt of documentation of the other plugin:
"Define dependencies with other JIRA custom fields
All nFeed custom fields can be used as a Parent to any nFeed custom field. JIRA custom fields and native fields can also be used as a
Parent to any nFeed custom field.
To refer to a Parent custom field, you just have to call the value in the Edit Query of your nFeed custom field, like $customfield_10010 where 10010 is the ID of the custom field parent. Look at all the possibilities on this page."
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.