import com.atlassian.jira.bc.issue.properties.IssuePropertyService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.entity.property.EntityPropertyService
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.security.JiraAuthenticationContext
import com.atlassian.jira.user.ApplicationUser
import org.apache.log4j.Level
import org.apache.log4j.Logger
Logger log = Logger.getLogger("Cleanup")
log.setLevel(Level.ALL)
String issueKey = "ISSUE-1234"
IssueManager issueManager = ComponentAccessor.getIssueManager()
Issue issue = issueManager.getIssueByCurrentKey(issueKey)
IssuePropertyService entityPropertyService = ComponentAccessor.getComponentOfType(IssuePropertyService)
JiraAuthenticationContext jiraAuthenticationContext = ComponentAccessor.getJiraAuthenticationContext()
EntityPropertyService.PropertyResult result = entityPropertyService.getProperty(jiraAuthenticationContext.loggedInUser as ApplicationUser, issue.id, "service-request-feedback-comment")
String originalValue = result.entityProperty.first().value
log.info(originalValue)
EntityPropertyService.SetPropertyValidationResult validationResult = entityPropertyService.validateSetProperty(jiraAuthenticationContext.loggedInUser, issue.id, new EntityPropertyService.PropertyInput("{\"comment\":\"Has been updated\"}", "service-request-feedback-comment"))
if (validationResult.isValid()) {
log.info("IS VALID")
result = entityPropertyService.setProperty(jiraAuthenticationContext.loggedInUser, validationResult)
log.info("Updated result:" + result.entityProperty.first().value)
}
For anyone interested in reading and/or updating this information through the JAVA API, here is a POC: