Snippets

Adaptavist ScriptRunner for Jira Cloud Set Multi Select List Field

You are viewing an old version of this snippet. View the current version.
Revised by Kristian Walker 5c98fad
/*
* This example script  console script updates a multi select list field on an issue.
* "All right, title and interest in this code snippet shall remain the exclusive intellectual property of Adaptavist Group Ltd and its affiliates. Customers with a valid ScriptRunner
* license shall be granted a  non-exclusive, non-transferable, freely revocable right to use this code snippet only within their own instance of Atlassian products. This licensing notice cannot be removed or
* amended and must be included in any circumstances where the code snippet is shared by You or a third party." 
*/

// Specify the issue key of the issue to update below
def issue = "<IssueKeyHere>"

// Specify the ID of the custcom field below e.g customfield_10012
def MultiSelectField = "<MultiSelectListCustomFieldIdHere>".toString()


// The rest call to update the multi user picker field. 
// Note: This script must be run as the ScriptRunner add on user
def setMultiSelectField = put("/rest/api/2/issue/"+ issue)
        .header('Content-Type', 'application/json')
        .queryString("overrideScreenSecurity", Boolean.TRUE)
        
        .body([
            // Specify the update structure to update the Multi Select list field and its Array List Data Structure that it uses
            update:
                [
                    (MultiSelectField): [
                        // Specify the add commands to add each option into the multi select list field as a comma seperated list of the option values to be set.
                        // Note these option values must be valid option values that can be selected on the edit issue form inside of Jira. 
                        [add: [value: "<OptionValueHere>"]],
                        [add: [value: "<OptionValueHere>"]]
                        // If you want to remove an item then you would do it by adding a line similar to below
                        //[remove: [value: "<OptionValueHere>"]]
                        ]
                
                ]
        ])
        .asString()
        .body
        
 // Note if you are creating a new issue then you do not need the update property and the body to set the field would be similar to below
        /*
        .body(
        [
                fields: [
                        customfield_10073: [ 
                            [value: "A"],
                            [value: "B"]
                            ],
                        // Rest of body here
                ]
        ])
        .asString().body
        */
        
return "Issue with the key of ${issue} updated with the Multi Select List Field set on it"        
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.