Introduction

You can configure Exalate to create(limit) comments with some specific group/role restriction. Also you can create the Service Desk comments as internal or public.

This page describes how to keep internal comments internal and restrict remote comments visibility.

Jira Service Desk to Software keep internal comments internal

JIRA Service Desk allows to create (only create, not change the comment internal/public status) the comments marked as "internal" comments.

The comment object has a property Internal which allows to restrict its visibility.

Below you can see an example of the script that you can use to make a comment internal.

Source side

Add the code below to the Outgoing Sync(Data Filter) to send comments to the destination side:

replica.comments       = issue.comments

Destination side

Add the code below to the Incoming sync(Create/Change Processor) to create comments, received from the source side

 issue.comments = commentHelper.mergeComments(issue, replica, {
  // make the comment internal, if the comment is visible only to the user role "team" 
  comment ->
    comment.internal = comment.roleLevel == "team"
  // collect the comments 
  comment
}
)


Jira Software to Service Desk restrict remote comments visibility 

Jira Software allows limiting the comments to users with certain project roles/groups. By default, JIRA is configured to allow restricting comment visibility to project roles only. 

You can change it so that a comment is restricted to either a group or a role.

Exalate allows setting a comment's group level (.groupLevel) or role level (.roleLevel) properties. It helps to limit the comment visibility.

You can create a comment with a given group/role level and change the existing comment's group/role level.

Source side

Add the code below to the Data Filter to send comments to the destination side:

replica.comments       = issue.comments

Destination side

Add the code below to the Create/Change Processor to create comments, received from the source side

issue.comments = commentHelper.mergeComments(issue, replica, {
      comment ->
      if (comment.internal) {
          // make the comment visible to only the role "team", 
          // if the comment is internal 
          comment.roleLevel = "team"
      } else {
      // remove all restrictions
          comment.roleLevel = null
          comment.groupLevel = null
      }
      comment
}
)

See Also