package models type IncidentResponse struct { ImportSet string `json:"import_set"` StagingTable string `json:"staging_table"` Result []IncidentResultItem `json:"result"` } type IncidentResultItem struct { TransformMap string `json:"transform_map"` Table string `json:"table"` DisplayName string `json:"display_name"` DisplayValue string `json:"display_value"` RecordLink string `json:"record_link"` Status string `json:"status"` SysID string `json:"sys_id"` } // TODO - populate more fields here type SingleIncidentResponse struct { Number string `json:"number"` // corresponds with incident_number SysID string `json:"sys_id,omitempty"` IncidentState string `json:"incident_state"` // integer value, 1-6 (6 is resolved) State string `json:"state,omitempty"` // unsure how this differs from IncidentState ShortDescription string `json:"short_description"` AssignedTo interface{} `json:"assigned_to,omitempty"` Description string `json:"description"` Urgency string `json:"urgency"` Impact string `json:"impact"` Category string `json:"category"` Subcategory string `json:"subcategory"` // TODO - unvalidated from here on // Associated DeviceID (UUID from CPDB) ExternalID string `json:"external_id,omitempty"` // CPDB UUID for the configuration item } type MultipleIncidentResponse struct { Result []SingleIncidentResponse `json:"result"` } type Incoming struct { IncidentNumber string `json:"incident_number,omitempty"` // The incident number in ServiceNow. If blank, creates a new incident, if populated with a valid value it updates that record. Description string `json:"description,omitempty"` ShortDescription string `json:"short_description,omitempty"` // 1 = Critical , 2 = High, 3 = Medium, 4 = Low Urgency string `json:"urgency,omitempty"` // integer value, 1-4 // 1 = Critical , 2 = High, 3 = Medium, 4 = Low Impact string `json:"impact,omitempty"` // integer value, 1-4 // State: 1 = New ; 2 = In Progress ; 3 = On Hold ; 6 = Resolved ; 7 = Closed ; 8 = Cancelled State string `json:"state,omitempty"` // integer value, 1-6 (6 is resolved) // Associated DeviceID (UUID from CPDB) ExternalID string `json:"external_id,omitempty"` // CPDB UUID for the configuration item WorkNotes string `json:"work_notes,omitempty"` // Additional notes AssignmentGroup string `json:"assignment_group,omitempty"` AssignedTo string `json:"assigned_to,omitempty"` // Cat/SubCategory to populate the Incident appropriately Category string `json:"category,omitempty"` SubCategory string `json:"subcategory,omitempty"` } // { // "import_set": "ABC12345", // "staging_table": "foobar1", // "result": [ // { // "transform_map": "Incident Import", // "table": "incident", // "display_name": "number", // "display_value": "TKT000123", // "record_link": "https://server.fqdn.com/api/now/table/incident/640f831720eb48a107653be1b4d87225", // "status": "inserted", // "sys_id": "640f831720eb48a107653be1b4d87225" // } // ] // }