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 vote
Alexey Matveev Community Champion Dec 26, 2017

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
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published yesterday in Jira

5 ways you can make the most of Jira Software and Bitbucket Cloud

As part of the Bitbucket product team I'm always interested in better understanding what kind of impact the use of our tools have on the way you work. In a recent study we conducted of software devel...

42 views 0 4
Read article

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