Skip to main content
Skip table of contents

Behind firewall

This article guides you through the steps to take for the migration of a behind firewall (email/file exchange) synchronization to a Server to Cloud synchronization

Prerequisites

  • You are synchronizing to your partner by email or file exchange

  • There are no errors in the troubleshooting tab of the configuration. If there are, please solve these first.

Things to Keep in Mind

  • You can't use the behind firewall (over email/file exchange) synchronization in a Server to Cloud scenario. You have to use a direct synchronization to the Cloud instance from the other Server instance.

  • The Server scenario has to configure the synchronization

Migration Steps

Primary migrates to cloud

Step-1: Export your synchronization data

  1. Stop the original running synchronizations on the primary and secondary side.

  2. Download the synced issue data for this synchronization (open the synchronization config and click ••• > Download synchronized issues) on both the primary and secondary side.

Step-2: Modify exported data

  1. Open the two files (primary and secondary) with the synced issue data created in step 1.2

  2. Copy all data from the primary file below "firstConnector" as "secondConnector" to the secondary file and save it as a .json file

    Master file example
    CODE
    {
      "firstConnector": [
        {
          "id": 47,
          "connectorKey": "CON-4-SAM2",
          "localIssueKey": "SAM2-1",
          "remoteIssueKey": "SP2-1",
          "firstSyncDate": 1604663032918,
          "lastOutgoingChange": 1604663098456,
          "lastChangeSeen": 1604654096519,
          "outgoingMessageSequenceId": 2,
          "lastIncomingChange": 1604663109653,
          "incomingMessageSequenceId": 1,
          "comments": [
            {
              "localId": "10019"
            }
          ],
          "incomingChangesIgnored": false
        }
      ]
    }

    Slave file example
    CODE
    {
      "firstConnector": [
        {
          "id": 63,
          "connectorKey": "CON-5-SP2",
          "localIssueKey": "SP2-1",
          "remoteIssueKey": "SAM2-1",
          "firstSyncDate": 1604663073350,
          "lastOutgoingChange": 1604663107283,
          "lastChangeSeen": 1604663103895,
          "outgoingMessageSequenceId": 1,
          "lastIncomingChange": 1604663103990,
          "incomingMessageSequenceId": 2,
          "attachments": [
            {
              "remoteId": "10002",
              "localId": "10004"
            }
          ],
          "comments": [
            {
              "remoteId": "10019",
              "localId": "10034"
            }
          ],
          "incomingChangesIgnored": false
        }
      ]
    }

    Merged file example
    CODE
    {
      "firstConnector": [
        {
          "id": 63,
          "connectorKey": "CON-5-SP2",
          "localIssueKey": "SP2-1",
          "remoteIssueKey": "SAM2-1",
          "firstSyncDate": 1604663073350,
          "lastOutgoingChange": 1604663107283,
          "lastChangeSeen": 1604663103895,
          "outgoingMessageSequenceId": 1,
          "lastIncomingChange": 1604663103990,
          "incomingMessageSequenceId": 2,
          "attachments": [
            {
              "remoteId": "10002",
              "localId": "10004"
            }
          ],
          "comments": [
            {
              "remoteId": "10019",
              "localId": "10034"
            }
          ],
          "incomingChangesIgnored": false
        }
      ],
      "secondConnector": [
        {
          "id": 47,
          "connectorKey": "CON-4-SAM2",
          "localIssueKey": "SAM2-1",
          "remoteIssueKey": "SP2-1",
          "firstSyncDate": 1604663032918,
          "lastOutgoingChange": 1604663098456,
          "lastChangeSeen": 1604654096519,
          "outgoingMessageSequenceId": 2,
          "lastIncomingChange": 1604663109653,
          "incomingMessageSequenceId": 1,
          "comments": [
            {
              "localId": "10019"
            }
          ],
          "incomingChangesIgnored": false
        }
      ]
    }

Step-3: Create a new synchronization

  1. Go to the project on the secondary side and start a new sync with the primary project (on cloud)

  2. Upload the synced issue data for this issues in this project that you exported and changed in step 2.2 (click ••• > Pair existing issues > Pair existing issues with Backbone before)

  3. Configure the same issue types, fields, comments and attachments.

    1. Note: if you are using a user field mapping, make sure to set it to "User Passthrough Mapping (by email)"

Step-4: Start the synchronization

  1. Start the new synchronization

  2. In the new synchronization, trigger a resync in both directions (with only the summary field, so the resync doesn't take long). This is done in order to recreate the information in the Sync info panel.

  3. Once you have verified everything is working correctly, delete the original synchronization. This will also delete the old information in the sync info panel.

Secondary migrates to cloud

Step-1: Export your synchronization data

  1. Stop the original running synchronizations on the primary and secondary side.

  2. Download the synced issue data for this synchronization (open the synchronization config and click ••• > Download synchronized issues) on both the primary and secondary side.

Step-2: Modify exported data

  1. Open the two files (primary and secondary) with the synced issue data created in step 1.2

  2. Copy all data from the secondary file below "firstConnector" as "secondConnector" to the secondary file and save it as a .json file

    Master file example
    CODE
    {
      "firstConnector": [
        {
          "id": 47,
          "connectorKey": "CON-4-SAM2",
          "localIssueKey": "SAM2-1",
          "remoteIssueKey": "SP2-1",
          "firstSyncDate": 1604663032918,
          "lastOutgoingChange": 1604663098456,
          "lastChangeSeen": 1604654096519,
          "outgoingMessageSequenceId": 2,
          "lastIncomingChange": 1604663109653,
          "incomingMessageSequenceId": 1,
          "comments": [
            {
              "localId": "10019"
            }
          ],
          "incomingChangesIgnored": false
        }
      ]
    }

    Slave file example
    CODE
    {
      "firstConnector": [
        {
          "id": 63,
          "connectorKey": "CON-5-SP2",
          "localIssueKey": "SP2-1",
          "remoteIssueKey": "SAM2-1",
          "firstSyncDate": 1604663073350,
          "lastOutgoingChange": 1604663107283,
          "lastChangeSeen": 1604663103895,
          "outgoingMessageSequenceId": 1,
          "lastIncomingChange": 1604663103990,
          "incomingMessageSequenceId": 2,
          "attachments": [
            {
              "remoteId": "10002",
              "localId": "10004"
            }
          ],
          "comments": [
            {
              "remoteId": "10019",
              "localId": "10034"
            }
          ],
          "incomingChangesIgnored": false
        }
      ]
    }

    Merged file example
    CODE
    {
      "firstConnector": [
        {
          "id": 47,
          "connectorKey": "CON-4-SAM2",
          "localIssueKey": "SAM2-1",
          "remoteIssueKey": "SP2-1",
          "firstSyncDate": 1604663032918,
          "lastOutgoingChange": 1604663098456,
          "lastChangeSeen": 1604654096519,
          "outgoingMessageSequenceId": 2,
          "lastIncomingChange": 1604663109653,
          "incomingMessageSequenceId": 1,
          "comments": [
            {
              "localId": "10019"
            }
          ],
          "incomingChangesIgnored": false
        }
      ]
       "secondConnector": [
        {
          "id": 63,
          "connectorKey": "CON-5-SP2",
          "localIssueKey": "SP2-1",
          "remoteIssueKey": "SAM2-1",
          "firstSyncDate": 1604663073350,
          "lastOutgoingChange": 1604663107283,
          "lastChangeSeen": 1604663103895,
          "outgoingMessageSequenceId": 1,
          "lastIncomingChange": 1604663103990,
          "incomingMessageSequenceId": 2,
          "attachments": [
            {
              "remoteId": "10002",
              "localId": "10004"
            }
          ],
          "comments": [
            {
              "remoteId": "10019",
              "localId": "10034"
            }
          ],
          "incomingChangesIgnored": false
        }
      ],
    }

Step-3: Create a new synchronization

  1. Go to the project on the primary side and start a new sync with the secondary project (on cloud)

  2. Upload the synced issue data for this issues in this project that you exported and changed in step 2.2 (click ••• > Pair existing issues > Pair existing issues with Backbone before)

  3. Configure the same issue types, fields, comments and attachments.

    1. Note: if you are using a user field mapping, make sure to set it to "User Passthrough Mapping (by email)"

Step-4: Start the synchronization

  1. Start the new synchronization

  2. In the new synchronization, trigger a resync in both directions (with only the summary field, so the resync doesn't take long). This is done in order to recreate the information in the Sync info panel.

  3. Once you have verified everything is working correctly, delete the original synchronization. This will also delete the old information in the sync info panel.

Still Unclear? Reach Out to Us

If you need help with any of these migration steps, reach out to us via help@k15t.com.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.