Scriptrunner Select List Conversions Alternative for Jira Cloud

Travis Smith January 5, 2021

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

 

 

3 answers

0 votes
David Taylor December 3, 2024

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

0 votes
Thomas Opiolka - codefortynine
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.
January 6, 2021

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...

  • connect to external data sources (API, database, File....)
  • populate native Jira custom fields options
  • populate native Jira custom fields based on issue values (dependent field)
  • build real time search fields (drop-down) dependant on other issue values
  • build real time info panels based on other issue values

For more details please have a look at the documentation for search fields.

I hope this is somewhat helpful.

Best,

Thomas

Travis Smith January 6, 2021

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,

Thomas Opiolka - codefortynine
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.
January 7, 2021

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

Travis Smith January 7, 2021

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

0 votes
Kristian Walker _Adaptavist_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 6, 2021

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

Travis Smith January 6, 2021

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.

    
 
    
     

Kristian Walker _Adaptavist_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 6, 2021

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

Travis Smith January 6, 2021

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

Suggest an answer

Log in or Sign up to answer