Creating ServiceNow incidents from BMC Helix Operations Management events by using MuleSoft Anypoint platform
BMC Helix iPaaS, powered by MuleSoft provides a pre-built integration template that enables you to create incidents in ServiceNow for BMC Helix Operations Management events. To use the integration template with the values that are defined out of the box, you update the project configuration with details of your systems and deploy the integration template.
The template provides the following capabilities:
Use case | BMC Helix Operations Management to ServiceNow |
---|---|
Create incidents | Creates an incident in ServiceNow when an event occurs in BMC Helix Operations Management |
Synchronize data | Synchronizes the status and comments in the ServiceNow incident with the status and worknotes in the BMC Helix Operations Management event |
BMC Helix Operations Management to ServiceNow data flows
The following images give an overview of the data flow for creating and updating a ServiceNow incident from a BMC Helix Operations Management event:
Before you begin
You require the following items to successfully set up and use this integration:
Required versions |
|
---|---|
Authentication and permissions |
|
MuleSoft Anypoint platform subscription | A valid MuleSoft Anypoint platform license Important: BMC provides pre-build integration templates for the MuleSoft platform, targeting common integration use cases for BMC products. To obtain a MuleSoft platform license, contact MuleSoft support. |
Application registration | An API access key, a secret key, and a tenant ID for BMC Helix Operations Management to register BMC Helix iPaaS with your BMC Helix Operations Management instance. Create an API user in BMC Helix Portal, and then add the access key, secret key, and tenant ID to the hom_tenant_id, hom_access_key and hom_client_secret project variables you define in the project. |
Task 1: To generate the secret key and ID for BMC Helix Operations Management
- Log in to BMC Helix Portal.
- Select Common Services > User Management.
- Log in to BMC Helix Operations Management.
- On the API users tab, click Add API User.
- Enter the following details required for the API user:
- API user name
- Description
- Key expiry
- Click Confirm.
Copy the generated secret key, API access key, and tenant ID values.
You need these values to register BMC Helix iPaaS with your BMC Helix Operations Management instance. For more information about generating the tenant ID, access key, and secret, see Setting up user level API keys.
Task 2: To create a topic to store events
If you are using the Kafka based queuing mechanism, create a topic in Kafka to store event data. Events are organized and stored in topics. Customers must install and manage their Kafka instance.
To create a topic to store data, complete the following procedure:
- Open a terminal session in Kafka and run:
$ bin/kafka-topics.sh --create --topic bhomEventsWithServiceNowIncidents--bootstrap-server localhost:9092. After you create the topic, run the kafka-topics.sh command without any arguments to display usage information. You can view details such as the partition count of the new topic.
For more information, see
Task 3: To download and deploy the integration template project
Download theBHIP 20.08.00 Create ServiceNow Incident from BMC Helix Operations Management Event Update 2021-01-01 file for the integration template.
- Log in to MuleSoft Anypoint Platform and select Management Center > Runtime Manager.
- To configure your integration template, click Deploy application.
To select the .jar file that you downloaded, and enter project details, on the Runtime tab of the Deploy Application page, select the following values:
Field name
Action
Application Name
Enter a unique name for your application.
Deployment Target
Select the space for deploying the application; for example, CloudHub.
Application File
Select Choose File > Upload file, and select the Integration template .jar file.
Runtime tab
Runtime version
Select the MuleSoft runtime version used to develop the application.
Worker size
Select a core size for your application.
The core size defines resource allocation for your application and impacts performance.
For more information about worker size, see Cloudhub workers.
Workers
Select the number of dedicated instances of Mule for the application.
Deploying your application with more than one worker balances incoming load across allocated worker nodes. It also provides a backup if any of the worker nodes is not responding.
On the Properties tab of the Deploy Application page, add the following values:
key
value
Kafka properties (Mandatory only if you are using Kafka)
kafka.use
To enable the Kafka queuing mechanism for incoming Webhook requests for fault tolerance, set the value to true.
By default this value is set to false.
kafka.bootstrap.server
Enter the Kafka server URL in the following format:
<hostname>:<port>Important: If the Kafka messaging system is disabled, enter localhost:9092 in this key.
ServiceNow properties
serviceNow.connector.url
Enter the host URL for ServiceNow.
serviceNow.connector.username
Enter the user ID to access ServiceNow.
serviceNow.connector.password
Enter the password of the user ID to access ServiceNow.
serviceNow.connector.version
Enter the version of your instance of ServiceNow.
serviceNow.property.callerID
Enter the ID of the ServiceNow user for whom the incident should be created.
BMC Helix Operations Management properties
bhom.connector.url
Enter the host URL for your instance of BMC Helix Operation Management.
bhom.connector.accessKey
Enter the access key of the API user created in Task 1.
bhom.connector.secretKey
Enter the secret key of the API user created in Task 1.
bhom.connector.tenantID
Enter the tenant ID of the API user created in Task 1.
MuleSoft API Webhook properties
api.webhook.profile.username
Enter the username to authenticate the integration request to the MuleSoft API.
api.webhook.profile.password
Enter the password for user defined to access the MuleSoft API.
Deployment environment
mule.env
Depending on the environment where you want to deploy the project, add one of the following values:
- dev
- qa
- prod
Optionally, if you want to enable email notifications, add the following values:
key
value
email.property.smtp
Enter the SMTP host details for email configuration.
email.property.recipients
Enter a comma separated list of email addresses for recipients who should receive the notification emails.
email.property.sender
Enter the email address from which the notification emails should be sent.
email.property.username
Enter the username to access the SMTP server from which notification emails should be sent.
email.property.password
Enter the password for the user to access the SMTP server from which notification emails should be sent.
- Click Deploy Application.
While the application is being deployed, the log updates are displayed. After the application is successfully deployed, a green circle is displayed next to the template name.
Task 4: To enable the integration
To enable the integrations, you need to run the webhook creation scripts from your MuleSoft Anypoint Platform. These scripts automatically create the required webhooks for the integration.
- Log in to the MuleSoft Anypoint Platform and select Runtime Manager.
- On the Applications tab, click the project name.
- On the application details page, click Schedules.
Select the appropriate option from the list displayed, and click Run Now. The following options are available:
Name
Description
BHOM-Create-Integration_Manual Trigger
Creates the required Webhooks to enable creation of incidents in ServiceNow for events created in BMC Helix Operations Management
BHOM-Purge-Integration_Manual Trigger
Purges existing Webhooks defined for the integration template
ServiceNow-Create-Integration_Manual Trigger
Creates the required Webhook to enable sync of worknotes and status between the BMC Helix Operations Management event and ServiceNow incident
ServiceNow-Pause-Integration_Manual Trigger
Pauses the sync of worknotes and status between the BMC Helix Operations Management event and ServiceNow incident
ServiceNow-Purge-Integration_Manual Trigger
Purges the existing Webhook defined to enable sync of worknotes and status between the BMC Helix Operations Management event and ServiceNow incident
ServiceNow-Resume-Integration_Manual Trigger
Resumes the sync of worknotes and status between the BMC Helix Operations Management event and ServiceNow incident
After you enable the integration, a corresponding incident is created in ServiceNow when an event is created in BMC Helix Operations Management. Updates made to the ServiceNow incident status or worknote are synced with the BMC Helix Operations Management event.