Update Summary Via scriptrunner Edited

I am trying to update an issue summary when an issue is created. i want the summary to be what is entered in a custom field. I created the following listener when an issue is created.

 

package com.adaptavist.sr.cloud.samples.events

//def issueKey = 'TEST-137'
def reportName = 'customfield_13703'//Report Name
def projectKey = "TEST"

def input = issue.fields[reportName] as String
def output = input + " eureka!"
def sum = issue.fields.summary

logger.info("summary?: {}", sum)

put("/rest/api/2/issue/${issue.key}")
.header("Content-Type", "application/json")
.body([
fields:[
(sum): output
]
])
.asString()

 

but when creating an issue the logger gives error 

 

CorrelationId: 8a010bb7-1caa-4f62-b087-b68e529cde88
RUN Script identifier: 5c14fc0b-b94b-4b96-9665-8ec17ab24745 com.adaptavist.sr.cloud.events.WebhookExecution (jira:issue_updated webhook fired for issue TEST-141) Logs:
2017-12-26 19:43:39.341 INFO - summary?: aklsjfkadjskf;jsdk;lf
2017-12-26 19:43:40.015 WARN - PUT request to /rest/api/2/issue/TEST-141 returned an error code: status: 400 - Bad Request
body: {"errorMessages":[],"errors":{"aklsjfkadjskf;jsdk;lf":"Field 'aklsjfkadjskf;jsdk;lf' cannot be set. It is not on the appropriate screen, or unknown."}}
2017-12-26 19:43:40.017 INFO - PUT /rest/api/2/issue/TEST-141 asString Request Duration: 656ms

 

the report name field is available on the create issue screen however.

 

what else can the error message be referring to?

1 answer

0 votes

Hello,

I guess, it should be like this (I changed (sum) to summary). As far as I understand it must be a valid json. when you send a json you should provide

"filedname":"fieldvalue". You provided "summaryfieldvalue":"newvalue" and it was wrong.

package com.adaptavist.sr.cloud.samples.events

//def issueKey = 'TEST-137'
def reportName = 'customfield_13703'//Report Name
def projectKey = "TEST"

def input = issue.fields[reportName] as String
def output = input + " eureka!"
def sum = issue.fields.summary

logger.info("summary?: {}", sum)

put("/rest/api/2/issue/${issue.key}")
.header("Content-Type", "application/json")
.body([
fields:[
summary: output
]
])
.asString()

Suggest an answer

Log in or Sign up to answer
Community showcase
Asked Thursday in Jira Ops

I'm John Allspaw, Ask Me Anything about incident analysis and postmortems

I'm John Allspaw, co-founder of   Adaptive Capacity Labs, where we help teams use their incidents to learn and improve. We bring research-driven methods and approaches to drive effective inciden...

4,702 views 20 14
View question

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you