Issue adding comments and internal; internal comments appear in customer portal

Originally asked by Destri Weir on 22 February 2022 (original question)


I feel like this is a simple syntax error or something on my part, but I’m not receiving an error. I have two projects: TMSServiceDesk and TMS. I want all comments that sync from TMS to TMSServiceDesk to sync as internal so that the engineering comments do not appear in the customer portal. I’d like ALL comments from the TMSServiceDesk instance to be visible in the TMS instance.

With the current script below, the comments are synching, but all comments are coming in as External in the TMSServiceDesk instance and are visible to the customer in the customer portal.

I am using a visual connection with script. Here are the two script mappings I have:

if (executionInstanceName == “TMSServiceDesk”)
issue.comments = commentHelper.mergeComments(
issue, replica, {it.internal = true; it} {
comment ->
comment.body = "|https://wenergysoftware.atlassian.net/browse/“\+replica.key\+”, “+ comment.author.displayName + " commented: \n” +comment.body
}
)

if (executionInstanceName == “TMS”)
issue.comments = commentHelper.mergeComments(
issue, replica, {
comment ->
comment.body = "|https://wenergysoftware.atlassian.net/browse/“\+replica.key\+”, “+ comment.author.displayName + " commented: \n” +comment.body
}
)


Answer by Francis Martens (Exalate) on 23 February 2022

Can you check that the customer request type is set at creation time of the issue
The JSM Rest API will make all comments public if this is not the case.

Check also
https://docs.idalko.com/exalate/display/ED/Jira+Cloud%3A+How+to+sync+Customer+request+type+field+in+Jira+Service+Desk


Comments:

Destri Weir commented on 23 February 2022

So this is definitely what’s going on, but I can’t get the script in the link above to bring over the Request type. I made sure that Request type field was on the Jira instance Create screens. I am not getting an error but the request type is not being populated on the Jira side (but is populated on the the Service Desk side).

Here is the script I am using (Visual connection with script where TMS is the Jira side instance):

if (executionInstanceName == “TMS”) {
issue.projectKey = “TMS” //Included only on create processor

issue.customFields.“Request Type”.value = replica.customFields.“Request Type”?.value
}

Destri Weir commented on 23 February 2022

I also tried setting it with a fixed value, but that also doesn’t work. I don’t see any way to populate the Request type in Jira software (it’s a locked system column from Service Desk), and if I try to select an option in Jira software, I get an error (there are no options as there are in Service Desk).

I’ve mapped the issue type, so I don’t know what I’m doing wrong.

Destri Weir commented on 24 February 2022

I’m mapping using the exact logic here: https://docs.idalko.com/exalate/display/ED/Setting+the+request+type+using+the+visual+editor

And the request type is still not coming over to the Jira software side. Any ideas what could be going on? It’s Jira Cloud, so I’m not sure how to debug.

Answer by Destri Weir on 11 March 2022

Issue was resolved with a syntax change (actually grouping two comment script snippets separately and in reverse order).


This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.