ITSM APIs
The following APIs need to be defined within the configurator in order to integrate Change management vendor with AppViewX:
- Create ticket: This API is used to create an ITSM change ticket and pass some basic ticket details defined in the payloadDataMapping.
- Get ticket: This API is used to fetch the ITSM change ticket for a given RFC ID (Request for change). All the fields mapped in the responseDataMapping will be stored internally in AVX for reference.
- Close ticket: This API is used to close the ITSM change ticket based on the
AppViewX workorder status. The corresponding state in the ITSM system has to be
mapped in the constants, under ticketCloseStates.
- The value of “closureCode” is picked from ticketCloseStates based on the workorder status.
"close": {
"url": "/api/now/table/change_request/<sysId>",
"responseDataMapping": {
"state": "result~state"
},
"payloadDataMapping": {
"state": "closureCode",
"close_notes": "comment"
},
"name": "closeTicket",
"method": "PUT"
},
- Update ticket: This API is used to update data back to the change ticket.
Commonly the update data are workorder configurations (Implementation, Rollback,
Pre-validation, and Post-validation) and workorder logs.
- Specific configurations such as Implementation, Pre-validation, and Post-validation can be mapped against the relevant ITSM field, and pushed.
“update”: {
"url": "/api/now/table/change_request/<sysId>",
"responseDataMapping": {},
"payloadDataMapping": {
"work_notes": "updateData"
},
"name": "update",
"method": "PUT"
},
"updateConfig": {
"responseDataMapping": {},
"payloadDataMapping": {
"user_input": [
"rollback_config"
],
"close_notes": [
"postvalidation_config"
],
"work_notes": [
"prevalidation_config"
]
},
"url": "/api/now/table/change_request/<sysId>",
"name": "updateConfig",
"method": "PUT"
},
"updateLog": {
"responseDataMapping": {},
"payloadDataMapping": {
"user_input": [
"rollback"
],
"close_notes": [
"postvalidation"
],
"work_notes": [
"prevalidation"
]
},
"url": "/api/now/table/change_request/<sysId>",
"name": "updateLog",
"method": "PUT"
If the API for withdrawal of the ticket is different from the close API, it can be defined under the name “withdrawTicket”.
"method": "GET"
},
"withdraw": {
"responseDataMapping": {
"status": "status"
},
"payloadDataMapping": {
"change_number": "ticketNumber",
"comment": ""
},
"url": "/withdraw",
"name": "withdrawTicket",
"method": "POST"
},