Snippets

Adaptavist ScriptRunner Cloud Set User and Group Picker Fields

You are viewing an old version of this snippet. View the current version.
Revised by Kristian Walker 6b76166
/*
* This example script console script updates an issue and sets user fields.
* "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."
*/

def issueKey = '<Issue Key Here>'
def newSummary = 'Issue Updated by a script'

def setUserPickerFields = put('/rest/api/2/issue/' + issueKey)
        .header('Content-Type', 'application/json')
        .body([
                fields: [
                        summary          : newSummary,
                        // Update the assignnee field using the syntax below.
                        assignee         : [id: "<AccountIdHere>"],
                        // Update the reporter field using the syntax below.
                        reporter         : [id: "<AccountIdHere>"],
                        // Update a custom single user picker field using the syntax below.
                        // Change customfield_10069 to be the ID of your single user picker field.
                        customfield_xxxxx: [id: "<AccountIdHere>"],
                        // Update a custom multi user picker field using the syntax below.
                        // Change customfield_10088 to be the ID of your single user picker field.
                        // Note as its a multi select type field we must provide an array for each user in a comma seperated format as shown below.
                        customfield_xxxxx: [
                                [id: "<AccountIdHere>"],
                                [id: "<AccountIdHere>"]
                        ]
                ]
        ])
        .asString()
if (setUserPickerFields.status == 204) {
    return 'Success'
} else {
    return "${setUserPickerFields.status}: ${setUserPickerFields.body}"
}

def groupName = [name: "<GroupNameHere>"] as Map

def setGroupPickerField = put('/rest/api/2/issue/' + issueKey)
        .header('Content-Type', 'application/json')
        .body([
                fields: [
                        customfield_xxxxx: groupName
                ]
        ])
        .asString()

if (setGroupPickerField.status == 204) {
    return 'Success'
} else {
    return "${setGroupPickerField.status}: ${setGroupPickerField.body}"
}
HTTPS SSH

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