1
0
-1

Hi,


In local connection of Jira project to project we need to have something to divide connections / statuses for we can tell to Exalate how to change status in one project differently than for another when statuses are not same. Even we need some statuses from one side dont trigger synchronization / or this will stay in open.


For Jira to Jira connection we have possibility to do that, because we have 2 connectors, in local is only one...Now we have problems inside of tickets for sometimes when someone make a commentary this is also triggering sychronization to status Open from another status.


Please help 

Thanks


def statusMap = [
// "remote status name": "local status name"
"Waiting for 3rd party support" : "Open",
"Done" : "Done",
"Pending Reporter" : "Open",
"Pending Release" : "Open",
"Work in progress" : "Open",
"Open" : "Open",
"Completed" : "Done",
"In Progress" : "Open",
"Waiting for support" : "Open",
"Pending Customer Feedback" : "Work in progress",
"Pending Release" : "Work in progress"

]

  1. Andrii Markov

    Hi Michal Sitkey,


    Can I ask you please to paste in here your full outgoing and incoming syncs from your instances?

    Thanks,
    Andrii

CommentAdd your comment...

2 answers

  1.  
    1
    0
    -1

    + this is local connection when two projects have different workflows and we need to differently match statuses for that we have only one mapping what is imposible to do. Than instances is not correct word only one instance.

      CommentAdd your comment...
    1.  
      1
      0
      -1

      replica.key            = issue.key
      replica.type           = issue.type 
      replica.assignee       = issue.assignee 
      replica.reporter       = issue.reporter
      replica.summary        = issue.summary
      replica.description    = issue.description
      replica.labels         = issue.labels += nodeHelper.getLabel("PTO")
      replica.comments       = issue.comments
      replica.resolution     = issue.resolution
      replica.status         = issue.status
      replica.parentId       = issue.parentId
      replica.priority       = issue.priority
      replica.attachments    = issue.attachments
      replica.project        = issue.project


      ---------------------------------------------------------------------------------------------------------------



      if(firstSync && replica.project.key == "FGS"){
         issue.projectKey   = "PTO"
         issue.typeName     = nodeHelper.getIssueType(replica.type?.name, issue.projectKey)?.name ?: "Info Request"
      }
      if(firstSync && replica.project.key == "PTO"){
         issue.projectKey   = "FGS"
         issue.typeName     = nodeHelper.getIssueType(replica.type?.name, issue.projectKey)?.name ?: "Service Request"
      }
      issue.summary      = replica.summary
      issue.description  = replica.description
      issue.labels       = replica.labels
      issue.comments     = commentHelper.mergeComments(issue, replica)
      issue.attachments  = attachmentHelper.mergeAttachments(issue, replica)

      /*
      def statusMap = [
              // "remote status name": "local status name"
           "Waiting for 3rd party support" : "Waiting for 3rd party support",
           "Done" : "Done",
           "Pending Reporter" : "Work in progress",
           "Pending Release" : "Work in progress",
           "Work in progress" : "Waiting for 3rd party support",
           "Open" : "Waiting for 3rd party support",
           "Completed" : "Done",
           "In Progress" : "Waiting for 3rd party support",
           "Waiting for support" : "Waiting for 3rd party support",
           "Pending Customer Feedback" : "Work in progress",
           "Pending Release" : "Waiting for 3rd party support"

               ]
      */
      def statusMap = [
              // "remote status name": "local status name"
           "Waiting for 3rd party support" : "Open",
           "Done" : "Done",
           "Pending Reporter" : "Open",
           "Pending Release" : "Open",
           "Work in progress" : "Open",
           "Open" : "Open",
           "Completed" : "Done",
           "In Progress" : "Open",
           "Waiting for support" : "Open",
           "Pending Customer Feedback" : "Work in progress",
           "Pending Release" : "Work in progress"

               ]
               
      def remoteStatusName = replica.status.name
      issue.setStatus(statusMap[remoteStatusName] ?: remoteStatusName)

      1. Andrii Markov

        Thank you!

        Checking...


        Kind Regards,
        Andrii

      2. Michal Sitkey

        One mapping is also commented /* */ ...than please ignore commented section

      3. Andrii Markov

        Hi Michal Sitkey ,


        I have tested it out and I see everything is alright in the incoming configuration from my perspective.

        The statuses should be mapped correctly.


        I think there could be some another problem with it, something triggers to change a status after you are leaving a comment.


        Can you please reproduce a problem and send me a history of the affected issue and a support zip file?


        Thanks,
        Andrii

      4. Michal Sitkey

        From my point of view is also doing what is mapped, but for us is wrong.

        We need to have different behaviour for one side from perspective our one project and from another side.

        For me is not like a bug to sending affected issue, but this is lack of possible settings for LOCAL Jira exalate connection, because in local we have only one connector where we can map statuses not like in Jira to Jira synchronization where are two sides and two possible mappings. 

        Please let me know if you understand how i this mean

      5. Anshuman Bakshi

        HI Michael, 


        Were you able to find any update to this ?


        We are also facing same issue where we have the following mapping to be done in exalate:

        def statusMapping =

        ["PENDING":"To Do",

        "Open":"Waiting For Customer",

        "Done":"Done"]
        def remoteStatusName = replica.status.name
        issue.setStatus(statusMapping[remoteStatusName] ?: remoteStatusName)

        • Status changes will be mapped as follows in Product Support and Cloud Project in jira.

        o   If status is “Pending” in Product Support = CloudOps “To do”

        o   If Status is “waiting for customer” in CloudOps =   “Open” in Product Support

        o   If Status is “Done” in Cloudops = “Solved” in Product Support

        o   If “Solved” in Product support  = “Done” in CloudOps project.

      CommentAdd your comment...