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-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
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 Mohammed Saeed Shaikh likes 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