Migrate Tickets

How to migrate tickets to Cerb

 3 minute read

An important part of using this plugin is being able to import tickets from other systems like:

These are all possible with the flexibility that Cerb offers with its package process.

Development Required

Due to the nature of each ticket system being different from each other there is no user friendly option of importing tickets to Cerb. Some software development would be required for large number of tickets.

Alternative options include:

  • skipping importing older support tickets
  • Run Blesta-Cerb plugin side by side your old system while disabling new and existing tickets from being opened

Steps

Create JSON Format

For each ticket, create a JSON file that contains all messages and replies for that ticket. Repeat this process per ticket.

Cerb has an excellent guide that shows details of how to create this package file. You may include attachments, messages and worker replies all in a single file. An example is provided below to highlight some of these capabilities.

{
  "package" : {
    "name" : "Import Tickets from Kayako to Cerb",
    "revision" : 1,
    "requires" : {
      "cerb_version" : "9.4.4"
    }
  },
  "records" : [ {
    "uid" : "ticket_LGCY_TMY_377053",
    "_context" : "ticket",
    "group_id" : 7,
    "bucket_id" : 14,
    "mask" : "LGCY-TMY-377053",
    "subject" : "FTP Problems",
    "status" : "c",
    "spam_training" : "N",
    "org_id" : 3,
    "created" : "1170045774",
    "updated" : "1174525619",
    "closed" : "1174525619",
    "participants" : "user@vendor-a.example"
  }, {
    "uid" : "message_LGCY_TMY_377053_0",
    "_context" : "message",
    "created" : "1170045774",
    "ticket_id" : "{{{uid.ticket_LGCY_TMY_377053}}}",
    "headers" : "To: support@company.example\r\nFrom: user@vendor-a.example\r\nSubject: FTP Problems",
    "is_outgoing" : 0,
    "content" : "Hello,\n\n I am having a problem with my FTP. ftp.vendora-a.example was working earlier today but i just tried it and it doesn't work anymore. Any Idea on what i should do? Using FlashFXP and i get:\n\n[R] Connecting to ftp.vendora-a.example -> DNS=ftp.vendor-a.example IP=192.0.2.20 PORT=21\n[R] Connected to ftp.vendor-a.example\n[R] Connection failed (Connection lost)\n",
    "sender" : "user@vendor-a.example"
  }, {
    "uid" : "message_LGCY_TMY_377053_1",
    "_context" : "message",
    "created" : "1170045893",
    "ticket_id" : "{{{uid.ticket_LGCY_TMY_377053}}}",
    "headers" : "To: support@company.example\r\nFrom: tom@company.example\r\nSubject: FTP Problems",
    "is_outgoing" : 1,
    "content" : "From the log you posted, thats not the server IP that hosts your site. Looking at your account, you ordered a hosting account today. It takes anywhere from 10min - 48 hours for your domain and DNS to update for the whole internet. Doing a few ping and ftp connections, I'm able to login via FTP to your account. You can also try to FTP into 192.0.2.20 (your server IP) which will always work.\n\nIf you are still having problems or have any questions, feel free to email me right back\n\n\r\nFrom,\r\nTom - Support is my middle name\r\n----\r\nTechnical Support for\r\nSupport Team",
    "worker_id" : 4,
    "sender" : "tom@company.example"
  } ]
}

A collection of older importers are available via Cerb’s GitHub page. These importers are able to connect to a number of instances but only create XML files. Additional work will need to be created to convert these XML files to the JSON format above.

Upload to Cerb

Once these package files have been created, upload all of them to a special folder within your Cerb installation storage/import/packages/new/. Note you may have to create this directory structure if it does not exist already.

Cerb also offers a ReST API to create packages.

Enable Importer

After package files have been uploaded, enable the package importer:

  • [Cerb Admin] -> [Configure] -> [Scheduler] -> [Packages Importer]

At Cerb’s next cron run, it will start to import all the tickets. You can run this process manually using the development link shown on the page.

Debugging

You can import packages via the Cerb GUI to verify the package format and fix any errors:

  • [Cerb Admin] -> [Packages] -> [Import]

Last modified August 1, 2020: (343076e)