This example code assumes that you have a vRO HTTP host called hpsmRESTHOST in your inventory.
requestContent = JSON.stringify({ "Incident": { "AffectedItem": "App1", "BriefDescription": "Server not responding", "Category": "request for service", "ContactEmail": "brian@brian.com", "CriticalCI": false, "IMTicketStatus": "Open", // Ex: "Open" or "Work in Progress" "IncidentDescription": [ "Installed some patches, now server does not boot", "", "UserID: "+ "user@user.com", "Email: " + "brian@brian.com", ], "InitialImpact": "4", "PrimaryAssignmentGroup": "Server-Repair", "ProblemType": "request for service", "Service": "Infrastructure", "Subcategory": "data", "ProductType": "data load", "severity": "4", "AssigneeName": "brian@brian.com", "Asset": "server01", "CILocation": "Melbourne", "ContactPhone": "321-000-0000", } }); System.debug("Payload: " + requestContent); var requestType = "POST"; var operationUrl = "/SM/9/rest/incidents/IM0000000/action/create"; try{ var request = hpsmRESTHOST.createRequest(requestType, operationUrl, requestContent); request.contentType = 'application/json'; var response = request.execute(); System.debug("Response:" + response.contentAsString); objResponse = JSON.parse(response.contentAsString); objResponse.ResponseCode = response.statusCode; if (response.statusCode != "200") { objResponse.Error.Message = response.contentAsString; throw("Non-200 response"); } else { objResponse.Error = null; } objResponse.Payload = requestContent; System.log("HPSM Incident " + objResponse.Incident.IncidentID + " successfully created"); } catch (e) { System.log("Operation URL: " + operationUrl); if (response != undefined) { System.debug("REST Response Code: " + response.statusCode); System.error("HPSM API Failure: " + response.contentAsString); objResponse.ResponseCode = response.statusCode; objResponse.Error.Message = response.contentAsString; } else { System.error("HPSM API Failure: No Response" + e); objResponse.Error.ResponseCode = "No Response Code" + e } } return objResponse;
Leave a Reply