Creating Ticket Templates 

In ITOps 1.4, concept of templates for ticket creation is introduced. Installation engineers can, and should define templates to use during ticket creation step.This is a mandatory step without which ticket creation will fail and alerts will go to correlation incomplete.

With the introduction of templates, it is possible to cater to needs of different ITSM tools or customer specific rules during ticket creation scenario.

/api/ticketTemplate is the API to use for creating ticket templates. For example, here are the steps to define templates for ticket creation, for a customer with alerts from Solarwinds, Verba, Forescout and Prognosis.

Contents

  1. Creating Ticket Templates To Replicate Existing Behavior
    1. Solarwinds alerts without alertMessage
    2. All solarwinds alerts
    3. Verba alerts without alertMessage
    4. All verba alerts
    5. Forescout without alertMessage without IP
    6. Forescout without alertMessage
    7. Forescout without IP
    8. All forescout alerts
    9. All Prognosis Alerts

Creating Ticket Templates To Replicate Existing Behavior

API endpoint : /api/ticketTemplate

Method : PUT

Headers :

Organization-name :

Organization-key :

Authorization or Offline-token :

User :

Content-Type : application/json

 

API to be invoked 9 times with different request body as below to handle the following scenarios

  1. Solar winds alerts without alert message

  2. All solar winds alerts in general

  3. Verba alerts without alert message

  4. All verba alerts in general

  5. Forescout alert without alert message and ip address

  6. Forescout alerts without alert message

  7. Forescout alerts without ip address

  8. All forescout alerts in general

  9. All prognosis alerts in general

 

The request body for each of the cases is given below. The values to be substituted are as follows

  1. initialAssignmentUser : Newly created Servicenow ticket to be assigned to this user upon creation. Please update with relevant servicenow user.

  2. initialAssignmentGroup : Newly created Servicenow ticket to be assigned to this group upon creation. Please update with relevant servicenow group.

  3. servicenowCallerId : Newly created Servicenow ticket to be assigned to this caller id upon creation. Please update with relevant servicenow caller id.

  4. projectId: Project ID

  5. templateName: A name for the template.

Request body for each case

Solarwinds alerts without alertMessage

{

"projectId": "<Project Id>",

"precedence":1,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] New Alert received. Details are available in description."

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n

${childAlert.alertMessageFullText }"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "solarwinds",

"operator": "equals"

},

{

"field": "alertMessage",

"value": "",

"operator": "equals"

}

]

}

]

}

All solarwinds alerts

{

"projectId": "<Project Id>",

"precedence":2,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] ${alertMessage}"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n

${childAlert.alertMessageFullText }"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "solarwinds",

"operator": "equals"

}

]

}

]

}

Verba alerts without alertMessage

{

"projectId": "<Project Id>",

"precedence":3,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] New Alert received. Details are available in description."

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n

${childAlert.alertMessageFullText }"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": " verba",

"operator": "equals"

},

{

"field": "alertMessage",

"value": "",

"operator": "equals"

}

]

}

]

}

All verba alerts

{

"projectId": "<Project Id>",

"precedence":4,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] ${alertMessage}"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n

${childAlert.alertMessageFullText }"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "verba",

"operator": "equals"

}

]

}

]

}

Forescout without alertMessage without IP

{

"projectId": "<Project Id>",

"precedence":5,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value": "[ ${source} ] New Alert received. Details are available in description.

"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n ${childAlert.alertMessageFullText}"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

},

{

"fieldName":"impact",

"value":"3 - Low"

},

{

"fieldName":"urgency",

"value":"3 - Low"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "forescout",

"operator": "equals"

},

{

"field": "ipAddress",

"value": "",

"operator": "equals"

},

{

"field": "alertMessage",

"value": "",

"operator": "equals"

}

]

}

]

}

Forescout without alertMessage

"projectId": "<Project Id>",

"precedence":6,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] New Alert received. Details are available in description. ${ipAddress}"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n ${childAlert.alertMessageFullText}"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

},

{

"fieldName":"impact",

"value":"3 - Low"

},

{

"fieldName":"urgency",

"value":"3 - Low"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "forescout",

"operator": "equals"

},

{

"field": "alertMessage",

"value": "",

"operator": "equals"

}

]

}

]

}

Forescout without IP

{

"projectId": "<Project Id>",

"precedence":7,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] ${alertMessage}"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n ${childAlert.alertMessageFullText}"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

},

{

"fieldName":"impact",

"value":"3 - Low"

},

{

"fieldName":"urgency",

"value":"3 - Low"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "forescout",

"operator": "equals"

},

{

"field": "ipAddress",

"value": "",

"operator": "equals"

}

]

}

]

}

All forescout alerts

{

"projectId": "<Project Id>",

"precedence":8,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] ${alertMessage}. Device has been NAC'd - ${ipAddress}"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n ${childAlert.alertMessageFullText}"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

},

{

"fieldName":"impact",

"value":"3 - Low"

},

{

"fieldName":"urgency",

"value":"3 - Low"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "forescout",

"operator": "equals"

}

]

}

]

}

All Prognosis Alerts

{

"projectId": "<Project Id>",

"precedence":9,

"templateName": "<Template name>",

"active": true,

"scenario": [

"createNewTicket"

],

"templateMapping":[

{

"fieldName":"description",

"value":"New Alert details ${alertMessageFullText}\nNumber of occurences:${clusterInfo.size}\nFirst occurrence:${alertCreatedTime}"

},

{

"fieldName":"short_description",

"value":"[ ${source} ] ${alertMessage}"

},

{

"fieldName":"comments",

"value":"Received a new alert ${childAlert.alertID} with the message:\n

${childAlert.alertMessageFullText}"

},

{

"fieldName":"assigned_to",

"value":"<initialAssignmentUser>"

},

{

"fieldName":"assignment_group",

"value":"<initialAssignmentGroup>"

},

{

"fieldName":"caller_id",

"value":"<servicenowCallerId>"

}

],

"templateRules": [

{

"ruleCriteria": [

{

"field": "source",

"value": "prognosis",

"operator": "equals"

}

]

}

]

}