Documentation is now available for the Fall 2020 Update release!

Cherwell

Describes how to set up an outbound integration for Cherwell incidents.

Leave Feedback

Introduction

Cherwell Service Management is a cloud-based IT service management solution that helps IT teams in organizations to implement, automate and upgrade service and support processes.

OpsRamp configuration

Configuration involves:

  1. Installing the integration.
  2. Configuring the integration.

Step 1: Install the integration

To install:

  1. From All Clients, select a client.
  2. Go to Setup > Integrations > Integrations.
  3. From Available Integrations, select Collaboration > Cherwell.
  4. Click Install.

Step 2: Configure the integration

Configure the following:

  • Outbound
  • Monitoring of Integration
  • Audit Logs

Outbound

To send entities to Cherwell from OpsRamp:

  1. Integration Basic Configuration: Configure notification details to trigger integration events.

    • Notification type: REST API
    • Base URL: http://opsramp.demo.cherwell.com/CherwellAPI/token?auth_mode=Internal
    • Authentication type: OAUTH2
    • Click Save.
    • Note Tenant IdKey, and Secret. These are used to configure REST API clients in Cherwell.
      Cherwell Outbound Configuration

      Cherwell Outbound Configuration

  2. Map Attributes: Map OpsRamp entity attributes with Cherwell attributes.

    • Select OpsRamp entity as Incident and OpsRamp property as Priority from the drop-down.
    • Click Map against the respective attribute. Create Integration Mapping window appears.
    • Provide the values and click Save.
      Mapping Attributes

      Mapping Attributes

  3. Integration Events: Events are for sending notifications whenever an action is performed on OpsRamp entities.

    • Click Add to add an integration event. Add Integration Event page appears.
    • Provide a name for the integration event.
    • Select Service Desk from the drop-down and then select entity type and action.
    • Select Parent Configuration to assign the basic integration details configured in step 1.
    • Provide endpoint URL.
    • Select the web method, provide the header name and value.
    • Provide the payload and click Save.
    Add Integration Event

    Add Integration Event

    • To parse the properties returned in response for the payload, select the OpsRamp property from the drop-down and provide the value.
    • A custom field that is already configured as response payload attribute for a given integration is not available for configuration in any other integrations. You need to remove the existing mapping from the integration to make the custom field available to map on response payload of any other integration.
  4. Verify Integration: Validate if the integration is successful.

    • Select the event from the drop-down and provide the JSON payload.
    • Click Verify to verify the integration.
  5. Integration Failures: In the case of failure in integration, a message is sent to the user about the failure.
    Select notification type Email, provide the email address and then click Save.

Integration Event Payloads

The following are field and example payloads to create incidents.

Create incident
Field Values for Incidents
FieldValue
Endpoint URLhttps://{subdomain}.com/CherwellAPI/api/V1/savebusinessobject
Headers
  • Accept: application/json
  • Content-Type: application/json
MethodPOST
AuthenticationOAUTH2
Request

The following is a sample request:

{
	"busObId": "6dd53665c0c24cab86870a21cf6434ae",
	"busObName": "Incident",
	"fields": [{
			"fieldId": "93e8ea93ff67fd95118255419690a50ef2d56f910c",
			"name": "ShortDescription",
			"value": "$incident.subject",
			"dirty": "true"
		},
		{
			"fieldId": "252b836fc72c4149915053ca1131d138",
			"name": "Description",
			"value": "$incident.impact",
			"dirty": "true"
		},
		{
			"fieldId": "83c36313e97b4e6b9028aff3b401b71c",
			"name": "Priority",
			"value": "[@$incident.priority.name@]",
			"dirty": "true"
		},
		{
			"fieldId": "5eb3234ae1344c64a19819eda437f18d",
			"name": "Status",
			"value": "[@$incident.status.name@]",
			"dirty": "true"
		},
		{
			"fieldId": "933bd530833c64efbf66f84114acabb3e90c6d7b8f",
			"name": "CustomerRecID",
			"value": "9337c2322a087296f7322a481d8858300e3f6e1dbb",
			"dirty": "true"
		},
		{
			"fieldId": "936725cd10c735d1dd8c5b4cd4969cb0bd833655f4",
			"name": "Service",
			"value": "Account Management",
			"dirty": true
		},
		{
			"fieldId": "ae05c132527e48bd95d063c445622df7",
			"name": "Impact",
			"value": "Department",
			"dirty": true
		},
		{
			"fieldId": "29d741aae8bf461f8aafa3c9eb4dc822",
			"name": "Urgency",
			"value": "Medium",
			"dirty": true
		},
		{
			"fieldId": "943f9d35d7ec5d7dc0921a41609d8e93b03a62d190",
			"name": "OpsRamp Inc ID",
			"value": "$incident.uniqueId",
			"dirty": true
		},
		{
			"fieldId": "9339fc404e4c93350bf5be446fb13d693b0bb7f219",
			"name": "Owned By",
			"value": "Andrew Simms",
			"dirty": true
		}
	]
}

Response

The following is a sample response:

{
	"busObPublicId": "102375",
	"busObRecId": "943f5ba5a1cb1fe68918764510ba96442c3a85e5d0",
	"cacheKey": null,
	"fieldValidationErrors": [],
	"notificationTriggers": [],
	"errorCode": null,
	"errorMessage": null,
	"hasError": false
}