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