Hello Atlassian Community,
Currently, I am using Adaptavist Scriptrunner for Jira Server to perform select list conversion, which populates dynamic drop-down lists within custom fields with external data using Scriptrunner Behaviours and REST endpoints.
Documentation showcasing what I am currently doing on Jira server and looking for an alternative for Jira Cloud: https://scriptrunner.adaptavist.com/5.0.3/jira/behaviours-conversions.html
The data in these lists are populated via querying an external source using Scriptrunner Rest Endpoints, which are scripts that query the external data source, formats the data returned, and return it to the scriptrunner behaviour which transforms the custom field into a nice drop-down list for users to choose values from.
My problem is that we are likely going to be switching from Jira Server, to Jira Cloud. Adaptavist scriptrunner does not support Behaviours in Jira Cloud due to not having access to the Jira Java API and limitations in the cloud connect framework, thus making it impossible to accomplish (as far as I know). My source is a thread from 2018 with someone asking a similar question, and from this year.
My question is this, are there any alternatives for Jira Cloud (plugins, native functions, etc) that allow for this same functionality? I see there are alternative plugins to Adaptavist scriptrunner for Jira server, but I have yet to find anything for cloud. Is this cloud connect framework limitation preventing any plugin developers from doing something like this? If so, what are my options? Has anyone done something similar on Jira cloud with other plugins/components?
Thank you very much.
TLDR: Looking for Scriptrunner Select List Conversion Alternative for Jira Cloud
1. Ability to create custom fields that are drop-down lists during ticket creation
2. Ability to parse the values of already filled out custom fields during ticket creation, whose values get send to an external data source to populate the drop-down list mentioned above
3. Ability to query an external data source via a HTTP request
Is this still in limbo? As far as I can tell, there hasn't been any movement on it yet.
My use case: Project Picker field type but I need it to be multi-select
Hi Travis,
In case you don't necessarily need this functionality during ticket creation I would recommend to evaluate our app External Data for Jira Fields. (Disclaimer: I am the product manager)
With the app you can...
For more details please have a look at the documentation for search fields.
I hope this is somewhat helpful.
Best,
Thomas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Thomas,
This app looks extremely interesting. If you look at my response to Kristian, I describe how we are currently using Scriptrunner Select List Conversions to filter and retrieve results from an external data store during issue creation. The store has hundreds of values, and every time the user selects a value in a custom field, that value is sent to the data store to return filtered information back to the user in the form of a list.
Does your app have the ability to filter results based on the value of a custom field?
As in, all data gets retrieved from the data store, but the user chooses a value in a previous custom field that can be used to filter the results that get shown in the list.
I do see that you have search fields that could potentially work, but being able to filter results based on what a user chooses in a custom field would be perfect for our use case, and practically emulate what scriptrunner is able to do with Select List Conversions.
Thank you again for the response,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Travis,
a search field can be dependant on other custom field values of an issue by using a context filter.
A search field is a virtual field which makes it more flexible than native Jira select-list fields, but writes its selection back to a native Jira field of your choice. The main limitation being that you cannot use them at creation time which sounds like a roadblock in your use case.
Best,
Thomas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Thomas,
You are right, being able to use these kinds of features during issue creation time is my main roadblock currently. However, your app I feel may be very useful for some other use-cases that I have. Thank you for sharing it and for your help.
Best,
Travis
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Travis,
Thank you for your question.
I can confirm that we currently do not offer the same Behaviours functionality inside of ScriptRunner for Jira Cloud but I can confirm we are currently looking at adding this feature and I would ask you to vote on the item for this in our public backlog located here if this is something that you are interested in.
Also, I would ask if you can add any entries to our backlog here for any features such as Select List Conversions that you would like to see in ScriptRunner for Jira Cloud as this will allow our developers and Product owner to understand what features customers are requesting and to look to prioritise these.
Currently, I can confirm we do not have the ability to external data sources and to dynamically populate field options directly inside of ScriptRunner for Jira Cloud but I can confirm it is possible to write a script in Jira cloud that can return data from an external system if the external system has a Rest API that can be called and we have a knowledge base article located here which explains further details on this.
However, I can confirm that if you are able to pull the data from an external system using a rest API that it provides then you could look to use the Update Custom Field Options Rest API or the Create Custom Field Options Rest API which Atlassian provides to set these values as options for the customer field and you could use a Scheduled Job to periodically return these values and set them in a custom field so they are present users when users create tickets.
This will not be as dynamic as it is in Jira Server but would provide a workaround to create similar functionality with ScriptRunner for Jira Cloud.
I hope this information helps.
Regards,
Kristian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Kristian,
Thank you very much for the detailed response, this helps me immensely. I will certainly vote on adding Select List Conversions to Scriptrunner for Jira Cloud and add entries to the backlog.
Regarding the Update Custom Field Options and Create Custom Field Options Rest API. This could potentially work as a workaround, however, I believe it would severely complicate things on our end.
Basically, we use select list conversions to help users sort through potentially hundreds of returned results during issue creation. They first start by selecting a "cluster" custom field, then they select a "namespace" on that cluster where the namespaces are retrieved by sending that cluster value to the external data store, and then a "helm release" from that namespace by sending the namespace value to the external data store to retrieve the helm releases. This prevents the user from scrolling through all helm releases, on all namespaces, on all clusters during issue creation and is possible via using Scriptrunner behaviours.
So using this workaround approach, I would need to create a scheduled job that retrieves all helm releases from all namespaces on all clusters, and then have the user scroll through all results during issue creation to choose their helm release.
We have 8 other use cases similar to this one. Could you confirm that I am understanding the workaround approach correctly, or possibly recommend a better approach for handling retrieving data from the external data store given that there are many possible sets of data that can be returned depending on what the user chooses during issue creation?
Is there any way to perhaps modify what custom field options are shown to the user, depending on what value they choose in a previous custom field? This way, only namespaces from the specific chosen cluster will be shown, and only helm releases from that namespace will be shown to the user, even though the scheduled job returns everything.
Please let me know if I can clarify anything, thank you again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Travis,
Unfortunately in the cloud version of scriptRunner the only workaround is the one I have suggested and there is no way to filter what options a user sees currently like you can do in the Jira server version due to the fact we don't have the API's to do this in cloud-like we do on the server as explained above.
Regards,
Kristian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Kristian,
Thank you for the fast response and for all of your help. I think I have the info I need to proceed.
Thanks,
Travis
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.