Script Listener to set the Priority field

Colin Betson September 27, 2021

HI, anyone managed to set the Priority field (either by id or description) in ScriptRunner for Jira Cloud.  I cant seem to find an accurate example to do this.  So far I have this....  Thanks in advance

 

def update = put("/rest/api/2/issue/${issue.key}")
.header('Content-Type', 'application/json')
.body([
fields: [
summary: "New Summary here",
priority:"Critical (P1)"
]
])
.asString()

 

 

I get this error...

PUT request to /rest/api/2/issue/HOTMOD-4328 returned an error code: status: 400 - Bad Request
body: {"errorMessages":[],"errors":{"priority":"Specify the Priority (id or name) in the string format"}}

 

2 answers

1 vote
Nic Brough -Adaptavist-
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.
September 28, 2021

The field needs to know if you're feeding it an id or a name, it's not a string like summary.

So this works for me:

priority : [
id: 42
]

Where 42 is the ID of "My Priority"

I think you might want:

priority : [
name: "Critical (P1)"
]

Colin Betson October 1, 2021

thanks for taking the time to post this.  After may retries I ended up with the below code and it works perfectly.

 

def priorityField = get("/rest/api/2/field")
.asObject(List)
.body
.find {(it as Map).name == 'Priority'} as Map

 

def result = put("/rest/api/2/issue/${issue.key}")
.header('Content-Type', 'application/json')
.body([
fields:
[
(summary:"New Summary here",

priorityField.id):[name: "Critical (P1)"] as Map
]
])
.asString()

Like # people like this
0 votes
Mohammed Saeed Shaikh July 7, 2023

This worked for me as well. Thanks for sharing.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events