Sample vRO Code to call HP Service Manager 9

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;
 


Posted

in

, , , ,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *