BMC Remedy

Describes how to set up an integration to discover and monitor BMC Remedy resources.

Leave Feedback

Introduction

BMC Remedy operates on a Software-as-a-Service (SaaS) delivery model that uses third-party cloud vendors to deliver services. BMC Remedy with OpsRamp is a one-way integration.

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 > BMC Remedy.
  4. Click Install.

Step 2: Configure the integration

Configure the following: - Outbound - Monitoring of Integration - Audit Logs

 Outbound

To configure outbound (from OpsRamp to BMC Remedy) communications:

  1. Integration Basic Configuration: Configure notification details to trigger integration events.
    1. Notification Type: SOAP API
    2. Base URI: https://{subdomain}.com/arsys/services/ARService?server=onbmc-s&webService=OpsRamp_CreateIncident
    3. Authentication: OAuth
    4. Provide username and password and click Save.
  2. Map Attributes: Map OpsRamp entity attributes with BMC Remedy attributes.
    1. Select OpsRamp entity from the drop-down.
    2. Click Map against the respective attribute. Create Integration Mapping window appears.
    3. Provide the values and click Save.
  3. Integration Events: Events are for sending notifications whenever an action is performed on OpsRamp entities.
    1. Click Add to add an integration event. Add Integration Event page appears.
    2. Provide name for the integration event.
    3. Select Service Desk from the drop-down and then select entity type and action.
    4. Select Parent Configuration to assign the notification details configured in step 1.
    5. Provide end point URL.
    6. Select the web method, provide the header name and value.
    7. Provide the payload and then click Save.
      • To add additional tokens to the payload, click on the token in Place Holders list.
      • 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.
      • To parse the properties returned in response for the payload, select the OpsRamp property from the drop-down and provide the value.
        BMC Remedy Integration

        BMC Remedy Integration

  4. Verify Integration: Validate if the integration is successful.
    1. Select the event from the drop-down and then select the payload type.
    2. Provide the payload and then click Verify. A 200- OK success response is generated if the integration is successful.
  5. Integration Failures: In the case of failure in integration, a message is sent to the user about the failure in integration.
    • Select notification type Email, provide the email address and then click Save.

Integration event payloads

The following are the field and example payload to create incidents.

Create incident
Field Values for Incidents
FieldValue
Endpoint URLhttps://{subdomain}.com/arsys/services/ARService?server=onbmc-s&webService=OpsRamp_CreateIncident
Headers
  • Accept: application/xml
  • Content-Type: text/xml
  • SOAPAction: OpsRamp_CreateIncident
MethodPOST
Authentication typeBASIC
UsernameBMC Remedy username
PasswordBMC Remedy password
Request with OpsRamp tokens

The following is a sample request with OpsRamp tokens.

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:OpsRamp_CreateIncident">
     <soapenv:Body>
     <urn:Create_OpsRampIncidentNew>
     <!--Optional:-->
     <urn:Incident_Number></urn:Incident_Number>
     <urn:Summary>$incident.subject</urn:Summary>
     <urn:Notes>$incident.impact</urn:Notes>
     <urn:Priority>[@$incident.priority.name@]</urn:Priority>
     <urn:Vendor_Ticket_Number>$incident.uniqueId</urn:Vendor_Ticket_Number>
     <urn:OpsRamp_Status>[@$incident.status.name@]</urn:OpsRamp_Status>
     <urn:Source_Type>Inbound</urn:Source_Type>
     </urn:Create_OpsRampIncidentNew>
     </soapenv:Body>
    </soapenv:Envelope>
Response

The following is a sample response.

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <soapenv:Body>
     <ns0:Create_OpsRampIncidentNewResponse xmlns:ns0="urn:OpsRamp_CreateIncident">
     <ns0:Incident_Number>INC000003142691</ns0:Incident_Number>
     <ns0:OpsRamp_Status>Open</ns0:OpsRamp_Status>
     </ns0:Create_OpsRampIncidentNewResponse>
     </soapenv:Body>
    </soapenv:Envelope>
Authentication error message

The following is a possible error message for an authentication error:

    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <soapenv:Body>
     <soapenv:Fault>
     <faultcode>soapenv:Server.userException</faultcode>
     <faultstring>ARERR [623] Authentication failed</faultstring>
     <detail>
     <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">dv-mt-01</ns1:hostname>
     </detail>
     </soapenv:Fault>
     </soapenv:Body>
    </soapenv:Envelope>
Required field error message

The following is a possible error message for a required field error:

    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <soapenv:Body>
     <soapenv:Fault>
     <faultcode>soapenv:Server.userException</faultcode>
     <faultstring>ERROR (326): Required field cannot be blank.; 536870914</faultstring>
     <detail>
     <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">dv-mt-01</ns1:hostname>
     </detail>
     </soapenv:Fault>
     </soapenv:Body>
    </soapenv:Envelope>