Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Use your own customfield_NAME custom field name where NAME is some unique descriptive name of your additional calculated custom field.
  • Add a name setting and specify a display name for this calculated custom field that will be visible in Zendesk import custom fields selection.
  • Add javascript_code which will calculate the custom field value and add it to the ticket.custom_fields array. This JavaScript code can use the ticket object in the same way as in the custom JavaScript code.

Here is an example of a calculated custom field "Tickets overdue" which will return 1 if the ticket has a due date and either resolution date is after the due date (for solved tickets) or the due date is in the past (for unsolved tickets). Add to the advanced settings:

Code Block
[customfield_overdue]
name = "Tickets overdue"
data_type = "integer"
measure = true
javascript_code = '''
if (ticket.due_at) {
  var resolutionOrCurrentTimestamp = ticket.metric_set.solved_at ?
    Date.parse(ticket.metric_set.solved_at) : (new Date).getTime();
  if (Date.parse(ticket.due_at) < resolutionOrCurrentTimestamp) {
    ticket.custom_fields.push({id: "overdue", value: 1});
  }
}
'''

Then import "Tickets overdue" custom field as a measure and flex.bi will create measures "Tickets overdue created", "Tickets overdue due" (total of unsolved tickets that are past their due date), "Tickets overdue resolved" (total of solved tickets that were late).

...