Example scripts
To homepage
Jira Service Desk

Display the Latest Public Comment in a Text Field
App in script

ScriptRunner For Jira
by Adaptavist
Compatibility

Jira Service Desk (8.20 - 8.21)

ScriptRunner For Jira (7.0.0)
Language |
groovy
import com.atlassian.jira.bc.issue.comment.property.CommentPropertyService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.issue.IssueEvent
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.comments.Comment
import groovy.json.JsonSlurper
final SD_PUBLIC_COMMENT = 'sd.public.comment'
final textFieldName = '<TEXT_FIELD_NAME>'
def issue = event.issue as MutableIssue
def issueEvent = event as IssueEvent
def user = issueEvent.user
def comment = issueEvent.comment
def customFieldManager = ComponentAccessor.customFieldManager
def issueManager = ComponentAccessor.issueManager
def commentPropertyService = ComponentAccessor.getComponent(CommentPropertyService)
def sampleMultiLine = customFieldManager.getCustomFieldObjectsByName(textFieldName).first()
def isInternal = { Comment cmt ->
def commentProperty = commentPropertyService.getProperty(user, cmt.id, SD_PUBLIC_COMMENT).entityProperty.orNull
if (commentProperty) {
def props = new JsonSlurper().parseText(commentProperty.value) as Map
props['internal'].toString().toBoolean()
}
else {
null
}
}
if (comment && !isInternal(comment)) {
issue.setCustomFieldValue(sampleMultiLine, comment.body)
issueManager.updateIssue(user, issue, EventDispatchOption.DO_NOT_DISPATCH, false)
}
Having an issue with this script?
Report it here