Zendesk private comments

Originally asked by Harold Oconitrillo on 25 March 2022 (original question)


Question raised:

We have an urgent issue with the Exalate app. You can see that one of the comments posted by the Exalate connections is placed as “Public” meaning this had been e-mailed to a customer. They should always be internal. Can you help with the script on this matter, see what needs to be changed to make this work well? We didn’t change anything on this matter. Can you help with the script for this?


Comments:

Francis Martens (Exalate) commented on 30 March 2022

Hi,

Your configuration has been working for more than a year. Something changed.
Can you provide the incoming sync script

Thanks

Francis

Frank Nugteren commented on 31 March 2022

Francis Martens (Exalate) this is the incoming Sync Script:

if ("Closed".equalsIgnoreCase(issue.status.name)) return
issue.summary      = replica.summary
issue.description  = replica.description ?: "No description"
//issue.labels       = replica.labels
issue.attachments  = attachmentHelper.mergeAttachments(issue, replica)
issue.comments = commentHelper.mergeComments(issue, replica, {
  comment ->
    comment.internal = true
    comment
  }
)
//throw new Exception ("Ticket tags - ${issue.labels}")
// keep track of the number of comments that have been created before the sync
if (! issue.customFields."360054517374"?.value) {
    issue.customFields."360054517374".value = replica.customKeys."Skip Comments"
} else {
    issue.status = nodeHelper.getStatus("open")
}
issue.customFields."360055524373".value = replica.resolution?.name

// keep track of the number of attachments that have been created before the sync
if (! issue.customFields."360054517354"?.value) {
    issue.customFields."360054517354".value = replica.customKeys."Skip Attachments"
}

//Receive a Custom Field value
//issue.customFields."CF Name".value = replica.customFields."CF Name".value
/*
Status Synchronization

Sync status according to the mapping [remote issue status: local issue status]
If statuses are the same on both sides don't include them in the mapping
def statusMapping = ["Open":"New", "To Do":"Open"]
def remoteStatusName = replica.status.name
issue.setStatus(statusMapping[remoteStatusName] ?: remoteStatusName)
*/

Answer by Harold Oconitrillo on 25 March 2022

Hi,

I hope you are doing great! You may review the documentation below.

https://docs.idalko.com/exalate/x/TwB1Aw

If after this you still have any further question do not hesitate to contact us back.

Kind regards,

Harold Cruz