Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Scriptrunner Custom Picker Multiple Selection

Marius Schneidermann
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 9, 2024

Hi,

i use the custom picker on a daily basis, but until now i only needed it for single picking.

Now i would like to select multiple Items. I'm receiving a list of files from a ftp server (unfortunately i can not search via a parameter, so i receive all of them and handle the search by myself).

I turned on the multiple checkbox in the options and when i'm selecting a second file from the list, the list shows 2 items, but with the same name.

If i add even more items the selected items are increasing, but with name from previous selections or just nonsense. 

When i'm using the multiple option the Value i declare in the "render" closures doesnt seem to effect the actual rendered object at all. It shows just the name and never anything else i'd like to render.

 

I already tried all of the available "render" closures:

renderViewHtml, renderItemColumnViewHtml,

renderItemViewHtml, renderColumnHtml and renderItemTextOnlyValue (with List or Map)

Nothing works... The last think i can think about is a cahce problem, but unfortunately scriptrunner deleted the delete cache function in the build in functions.

And Suggestions?

 

BR

```

FTPToken token = new FTPToken()
ResponseType response = HttpRequests.get(Config.FTP_BASE_URL,"/api/v2/user/dirs",[path:Config.FTP_SOFTWARE_FOLDER],"Bearer ${token.getToken()}",ContentType.JSON) as ResponseType
List<FTPFileResponse> json = response.json as List<FTPFileResponse>

search = { String inputValue -> {
return json.findAll {it.name.startsWith(inputValue)}
}
}

toOption = { Map<FTPFileResponse> map, Closure<String> highlight ->
new PickerOption(
value: map.name,
label: "${map.name}",
html: "${highlight(map.name, false)}",
)
}

getItemFromId = { String id ->
json.find {it.name = id}
}


renderViewHtml = { List<FTPFileResponse> objects ->
"$objects.name (TEST)"
}

renderItemColumnViewHtml = { List<FTPFileResponse> objects ->
"$objects.name (TEST)"
}

renderItemTextOnlyValue = { List<FTPFileResponse> objects ->
"$objects.name (TEST)"
}

maxRecordsForSearch = 8
```

 

 

1 answer

0 votes
Ram Kumar Aravindakshan _Adaptavist_
Community Champion
January 9, 2025

Hi @Marius Schneidermann

Did you manage to get an answer to your question?

Thank you and Kind regards,
Ram

Suggest an answer

Log in or Sign up to answer