Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,363,171
Community Members
 
Community Events
168
Community Groups

Call Rest API and filter result in field

Hello, i have Jira server v8.2.3 and Scriptrunner 6.20.0

I try to do this
1/ Get information from api rest
2/ Parse result and store result (database ? custom field option ?)
exemple
        projet pkey A10 value HUM0010
        projet pkey A10 value HUM0011
        projet pkey A20 value HUM0012
        projet pkey A20 value HUM0013
        projet pkey A30 value HUM0014
        projet pkey A40 value HUM0015
(only get 1 time per day)

3/ Have a custom field where selection is filter by issue context (projet key)
This field could be edit by users, user select value

key project is for example A10 and user possible select in field was HUM0010 or HUM0011
(filter by projet pkey)

I try to use "Script Fields" but field can't be edit by user

A "Behaviours" script can do this ?
Did you have idea for storage data ?
And idea for field filter for user ?


Thanks

Fred

1 answer

1 vote

There are a few different directions you could use for this

  1. Behaviour Select Conversion - live
    • User field will be "Test"
    • Behaviour script will change it to select dropdown based on the current project context
    • Remote API is called with each user input
  2. Behaviour Select Conversion - stored data
    • Same as above but api called will be a custom rest api built with script runner that looks at data stored locally
    • The data stored locally is refreshed 1x per day by a job that makes the remote rest api
    • Suggested data storage: application properties (see script example below)
  3. Select Field options with automatic option refresh
    • User field is Single Select
    • 1 configuration context for each project
    • Remote API is called 1x per day by a job and options in each context are added/disabled 

Example local storage

import groovy.json.JsonSlurper
import groovy.json.JsonBuilder
import com.atlassian.jira.component.ComponentAccessor
def data = [
[pkey:'A10', values:['HUM0010', 'HUM0011']],
[pkey:'A20', values:['HUM0012', 'HUM0013']],
[pkey:'A30', values:['HUM0014', 'HUM0015']],
]
//store the data
ComponentAccessor.applicationProperties.setText('mycustomkey', new JsonBuilder(data).toString())
//retreive the stored data
def myData = new JsonSlurper().parseText(ComponentAccessor.applicationProperties.getText('mycustomkey'))

Hello, thanks for your reply.

I remember solution 2, i have store data with sucess.

With this solution, i have to create 2 fields ? 1 for project key (issue contexte) dans 1 for select value ?

With Behaviours Select List Conversions, in "Initialiser", i don't understand what to put on.

Thanks

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events