Creating ServiceNow incidents for BMC Helix Operations Management events by using Jitterbit Harmony
BMC Helix iPaaS, powered by Jitterbit provides a pre-built integration template that enables you to create incidents in ServiceNow for all critical BMC Helix Operations Management events. To use the integration template with the values defined out of the box, you update the project variables with details of your systems and deploy the integration template.
The template provides the following capabilities:
Use case | BMC Helix Operations Management to ServiceNow | ServiceNow to BMC Helix Operations Management |
---|---|---|
Create tickets | Creates a ServiceNow incident from a new BMC Helix Operations Management event. The event is updated with the corresponding ServiceNow incident number. | NA |
Synchronize statuses | Synchronizes the status of a BMC Helix Operations Management event with a ServiceNow incident | Synchronizes the status of a ServiceNow incident with a BMC Helix Operations Management event |
Synchronize activity notes | Synchronizes an activity note from a BMC Helix Operations Management event with a ServiceNow incident | Synchronizes an activity note from a ServiceNow incident with a BMC Helix Operations Management event |
BMC Helix Operations Management to ServiceNow data flows
The following image gives an overview of the data flow for creating a ServiceNow incident from a BMC Helix Operations Management event and synchronizing data between them:
The following image gives an overview of the data flow for 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 |
|
BMC Helix iPaaS subscription | A valid BMC Helix iPaaS subscription |
Application registration |
|
Task 1: To generate the secret key and ID for BMC Helix Operations Management
- Log in to BMC Helix Portal.
- Select User Access > User Management.
- On the API users tab, click Add API User.
- Enter the following details for the API user:
- API user name
- Description
- Key expiry
- Click Confirm.
Copy the secret key, API access key, and tenant ID values.
These values are required to r egister BMC Helix iPaaS with your BMC Helix Operations Management instance. For more information about generating the tenant ID, access key, and secret key, see Setting up user level API keys.
Task 2: To assign roles and ACL permissions to your ServiceNow user
- Log in to your ServiceNow instance as an Administrator.
- To create a new custom role, and add the roles required by the ServiceNow user defined in the servicenow_user project variable for the integration, perform the following steps:
- Click All and select System Security > Users and Roles > Roles.
- To create a new role, click New.
- Enter a name and description for the role, and click Submit.
- To open the roles record, on the Roles page, double-click the name of the role you created.
- To add the required roles, on the Contains Roles tab, click Edit...
- Select the role to add from the Collection list, click >.
Add the following roles:- itil
- personalize_dictionary
- business_rule_admin
- script_include_admin
- Click Save.
The selected roles are displayed on the Contains Roles tab. - Click Update.
- Click the user profile icon and select Elevate Role to get the privileged role to be able to add ACL permissions for users.
When prompted, select security_admin from the list of Available Roles and click Update.
Click All and select System Security > Access Control (ACL).
Required access permissions
The following table lists the values required when you configure the access control settings.Type
Operation
Name
For creating and updating incidents and creating comments
record
Read
Table [sys_db_object]
None
record
Read
Field class [sys_glide_object]
None
record
Read
Dictionary Entry [sys_dictionary]
*
For creating the webhook required for the integration template
record
Read
System Property [sys_properties]
None
record
Write
System Property [sys_properties]
None
record
Execute
System Property [sys_properties]
None
record
Create
System Property [sys_properties]
None
- To add the access control list rules, complete the following steps for each rule listed in the Required access permissions table:
- On the Access Controls page, click New.
- Configure the following settings for the new record:
- Type: Select record from the list.
- Operation: Select a value.
- Name: Select a value.
- Requires role: Under Role, double-click Insert a new row, enter the value for role you created in Step 2 and click Save(
).
- Click Submit.
- Click Save.
Task 3: To download and import the integration template project file
Download the Create ServiceNow Incident from BMC Helix Operations Management Event Update 2023-11-01 project file to your system.
This file contains the BMC Helix iPaaS Integration Studio project Create ServiceNow Incident from BMC Helix Operations Management Event Update.- As a developer, log in to BMC Helix iPaaS and navigate to the Integration Studio.
- On the projects page, click Import.
- Click Browse and then select the Create ServiceNow Incident from BMC Helix Operations Management Event Update 2023-11-01 file you downloaded.
The Project Name and Organization fields are automatically populated depending on the values defined. - From the Environment list, select the environment to which you want to import this integration template, and click Import.
The project opens after the integration template is imported. - To open the project file at a later time, select the environment where the integration templates are available, select the Create ServiceNow Incident from BMC Helix Operations Management Event Update project, and click View/Edit.
Task 4: To add authentication details to the BMC Helix Operations Management end point configuration
Before you can successfully use the integration template, you must update the BMC Helix Operations Management connector configuration to add the OAuth authentication details.
- To open the project file, select the environment where the integration templates are available, select the Create ServiceNow Incident from BMC Helix Operations Management Event Update project and click View/Edit.
- Update the BMC Helix Operations Management endpoint.
- From the Show menu in the Connectors pane, select Endpoints.
- Search for and then double-click BMC Helix Operations Management.
- On the Configure BMC Helix Operations Management Connection page, click the variable icon
and select the following variable values:
- Server URL—Select hom_server_url.
- Access Key—Select hom_access_key.
- Secret Key—Select hom_sercret_key.
- Tenant ID—Select hom_tenant_id.
- Click Save Changes.
- On the Configure BMC Helix Operations Management Connection page, click the variable icon
Task 5: To update the project variables for the integration template
- Next to the Environment name, click ... and select Project Variables.
- Update the following project variables:
Access points and authentication details for ServiceNow and BMC Helix iPaaS
Project variable
Action
ServiceNow
servicenow_Endpoint
Enter the host URL for ServiceNow.
servicenow_user
Enter the user ID to access ServiceNow.
servicenow_password
Enter the password of the user to access ServiceNow.
servicenow_clientID
Enter the OAUTH API endpoint ID generated in ServiceNow.
servicenow_secret
Enter the OAUTH API endpoint client secret generated in ServiceNow.
BMC Helix Operations Management
hom_server_url
Enter the host URL for your instance of BMC Helix Operation Management.
hom_access_key
Enter the access key of the API user created in Task 1.
hom_secret_key
Enter the secret key of the API user created in Task 1.
hom_tenant_id
Enter the tenant ID of the API user created in Task 1.
hom_webhook_name
Enter a name for the API Webhook for BMC Helix Operations Management.
An API Webhook with this name is created in BMC Helix Operations Managment.
BMC Helix iPaaS
BHIP_Url
Enter the URL to access BMC BMC Helix iPaaS.
BHIP_User
Enter the user ID to access BMC Helix iPaaS.
BHIP_User_Password
Enter the password of the user to access BMC Helix iPaaS.
Webhook API variables
Project variables
Action
BHIP_Hom_Webhook_Action
Enter the action to create or update a webbook for BMC Helix Operations Management.
Valid values include:
- CREATE
- UPDATE
BHIP_Integration_API_Name_HOM
Enter a name for the Webhook API to be created in the
BMC Helix iPaaS
API Manager for BMC Helix Operations Management.
By default, the value is set to HOMTOSNOWWEBHOOK.BHIP_Integration_API_Name_SNOW
Enter a name for the Webhook API to be created in the
BMC Helix iPaaS
API Manager for ServiceNow.By default, this value is set to SNOWTOHOMWEBHOOK.
BHIP_Integration_API_Method
Enter a RestAPI method that is used by the Webhook API created for BMC Helix Operations Management and ServiceNow. This value is added to the BMC Helix iPaaSJitterbit API.
The following values are valid:
- POST
- GET
- PUT
- DELETE
The default value is POST.
Do not change the default value.
BHIP_Integration_API_Response_Type_HOM
Enter the REST API response type used by the Webhook API to handle requests from BMC Helix Operations Management.
This value is added in the BMC Helix iPaaS Jitterbit API.
The following values are valid:
- VARIABLE
- FINAL_TARGET
The default value is VARIABLE.
BHIP_Integration_API_Response_Type_SNOW
Enter the REST API response type used by the Webhook API to handle requests from ServiceNow.
This value is added in the
BMC Helix iPaaS
Jitterbit API.
The following values are valid:- VARIABLE
- FINAL_TARGET
The default value is VARIABLE.
BHIP_Integration_API_Security_Profile_Type_HOM
Enter a security profile type.
You can set the following values for this variable:- BASIC
- ANONYMOUS
The default is BASIC.
Enter comma separated values to select multiple profile types; for example, BASIC, ANONYMOUS.
Important:
- For profile types supported by the BMC Helix Operations Management application, the security profiles are automatically created by the integration template when you enable the integration.
- BMC Helix iPaaS does not support OAuth authentication for this application.
BHIP_Integration_API_Security_Profile_Type_SNOW
Enter a security profile type.
You can set the following values for this variable:
- BASIC
- ANONYMOUS
The default value is BASIC.
Enter comma separated values to select multiple profile types; for example, BASIC, ANONYMOUS.
Important:
- For profile types supported by the ServiceNow application, the security profiles are automatically created by the integration template when you enable the integration.
- BMC Helix iPaaS does not support OAuth authentication for this application.
BHIP_Integration_API_Security_Profile_Name_Suffix_HOM
Enter a suffix to be added to the name of security profiles created for BMC Helix Operations Management.
BHIP_Integration_API_Security_Profile_Name_Suffix_SNOW
Enter a suffix to be added to the name of security profiles created for ServiceNow.
BHIP_API_TimeOut
Enter a value, in seconds, for an API timeout.
The API times out if the integration template takes more than the value you define.
The minimum value must range between 30 and 180. By default, the value is set to 60.
BHIP_API_User_Roles
Enter comma-separated values of the user roles assigned for the BMC Helix iPaaS API. Leave this value blank to restrict access only to administrators.
Only a user with these roles can access the APIs.
BHIP_Integration_API_Security_Profile_BASIC_Auth_Username
For the BASIC security profile type, enter a user name to be used to create the basic authentication security profile in BMC Helix iPaaS.
This user name is used for authentication by the Jitterbit API and the Webhook API.
BHIP_Integration_API_Security_Profile_BASIC_Auth_Password
For the BASIC security profile type, enter a password to be used to create the basic authentication security profile in BMC Helix iPaaS.
This password is used for authentication by the Jitterbit API and the Webhook API.
BHIP_Integration_API_Security_Profile_ApiKey_Name
For the APIKEY security profile type, enter a name for the API key to set on the security profile.
This value is used by the RestAPI and Webhook script for authentication.
BHIP_Webhook_Security_Profile_Type
Enter a security profile type that the Webhook uses to call the BMC Helix iPaaS Jitterbit API.
SNOW_Webhook_APIKEY
Enter the name of the ServiceNow system property to store the apikey for the BMC Helix iPaaS APIKEY authentication profile.
SNOW_Webhook_Basic_Password
Enter a password for the ServiceNow Webhook.
SNOW_Webhook_Basic_User
Enter the name of the ServiceNow system property to store the BMC Helix iPaaS basic authentication profile user name.
SNOW_Webhook_Business_Rule_Name
Enter a name for the business rule created for the ServiceNow Webhook configuration.
SNOW_Webhook_Property_Name
Enter the name of the ServiceNow system property to store the BMC Helix iPaaS integration API.
SNOW_Webhook_Script_Include_Name
Enter a name for the script include to be used to create the Webhook.
(Optional) Email notification configurations
Enter the following configuration values to receive email notifications for integration template errors:
Project variable
Value
BHIP_SMTP_Hostname
Enter SMTP host details for email configuration.
BHIP_To_Email_Address
Enter the email address to which you want to send the notification emails.
Leave this value blank if email notifications are disabled.
BHIP_From_Email_Address
Enter the email address from which the notification emails must be sent.
Leave this value blank if email notifications are disabled.
BHIP_Email_Enabled
To enable email notifications trigger, change the default value to true.
By default, the value is set to false.
BHIP_Email_Summary
To enable email notifications for a summary email of the errors, set the value to true.
By default, this value is set to false.
BHIP_Email_Data_Error
To enable email notifications for integration template errors, set the value to true.
By default, this value is set to false.
Task 6: To deploy and enable the project
Deployment is a one-time activity that initializes the integration configurations. The UI displays a message for the deployment status.
To deploy the project and then enable the integration:
- To deploy the project, next to the project name, click the ellipsis ..., and select Deploy Project.
- To enable the integration, next to the Enable Integrations workflow, click the ellipsis ... for the Enable Integration operation, and select Run.
The following image shows the steps to deploy the project and enable it by running the operation:
After you enable the integration, when an event is created in BMC Helix Operations Management, a corresponding incident is created in ServiceNow. Any updates made to the BMC Helix Operations Management event are synced with the ServiceNow incident and the converse is true.
Task 7: To map BMC Helix Operations Management fields or custom fields to ServiceNow fields
For any mandatory ServiceNow fields that are not mapped to an existing BMC Helix Operations Management field, or a custom field, you have to add the mapping manually. To add a mapping of a Helix Operations Management field to a ServiceNow field, complete the following procedure.
- Open the BHIP 21.3.04 Create ServiceNow Incident from BMC Helix Operations Management Event Update project.
- On the Workflows tab, expand the 4.0 Sync HOM to SNOW operation and select 4.3 Create Incident in ServiceNow.
- Click the Mapping for incidents transformation object, and select View/Edit.
- Select the Variables tab and enter BHOM in the search box.
The search displays a list of global variables available for BMC Helix Operations Management.- To map an existing BMC Helix Operations Management field to a ServiceNow field, drag the BMC Helix Operations Management field and map it to the corresponding ServiceNow field displayed in the Target frame on the right.
- To map a custom field to the ServiceNow field, hover on the ServiceNow field displayed in the Target frame on the right, and click the + icon, and select one of the following options:
- Custom value: Add the value of the custom field <format?>
- Script: Add the JSON script to add the field mapping.
Click Return to Workflow
.
(Optional) Task 8: To set the time for API debug mode
By default, the debug mode is set to 2 hours after you run the integration. Debug logs are updated for the time set for the debug mode.
To change the time period for the debug mode, perform the following steps:
- In BMC Helix iPaaS , powered by Jitterbit, select API Manager > My APIs.
- Open the application API created for the integration.
The API name is the value defined in the BHIP_Integration_API_Name_HOM or the BHIP_Integration_API_Name_SNOW project variable. - Select Enable Debug Mode Until: and set it for the required date and time.
- Save and publish the API.
(Optional) Task 9: To update the default trigger conditions for the Create ServiceNow Incident from BMC Helix Operations Management Event project
By default, the template is configured to create a ServiceNow incident for all critical events of any Event class type that is created in BMC Helix Operations Management. When you deploy the integration template, BMC Helix iPaaS creates a notification event policy in the BMC Helix Operations Management Event Policies section.
To change the events for which you want to create corresponding ServiceNow incidents, update the selection criteria in the Predefined Policy for Incident notification event policy.
For more information about event policies and defining the criteria, see Defining event policies for enrichment, correlation, notification, and suppression.
Workflows included in the integration template
The following workflows are defined as a part of the integration template. Refer to the following details for an overview of the tasks defined in the workflow operations and configurations defined within each workflow.
Enable Integration
This workflow defines the operations required to enable the integration after all the required project configurations are completed. The following operations are included in this workflow:
Operation name | Actions performed |
---|---|
Enable integration | Creates all the required webhooks for the template and enables the integration |
BHIP Login | Logs in to BMC Helix iPaaS by using the credentials provided in the project variables |
Check Custom API and Security Profiles exist | Checks if the Custom API and security profiles exist |
Publish Custom API | Publishes the custom APIs to BMC Helix iPaaS |
Create Security Profiles and Custom API | Creates security profiles and REST APIs in BMC Helix iPaaS |
Delete API and Security Profile if needed | Deletes existing APIs or security profiles, if required |
Create Webhook in ServiceNow | Logs in to ServiceNow by using the credentials provided in the project variables |
Check webhook artifact exist | Verifies if the Webhook API configurations exist in ServiceNow |
Create webhook artifact | Creates the Webhook API configuration to ServiceNow |
Update webhook artifact | If Webhook API configuration exists in ServiceNow, updates the configuration with the new data |
Failure Notification | Sends an email notification if the Webhook API configuration is not added to ServiceNow |
Disable Integration
This workflow defines the operation required to disable the integration. The following operation is included in this workflow:
Operation name | Actions performed |
---|---|
Disable integration | Deletes all the webhooks created in the source and target applications, and disables the integration. Important: The Disable integration operation uses project variables related to the webhooks. If you make any changes to these project variables, the Disable integration operation cannot delete the webhooks. |
HOM Webhook
This workflow defines the Create HOM Webhook operation required to generate the Webhook API for BMC Helix Operations Management.
Operation name | Actions performed |
---|---|
Validate HTTP Status Code | Validates the Webhook operations |
Parse JSON | Validates the Webhook operations |
HOM Webhook Operations | Initiates the Webhook operations based on the operations performed |
HOM Get Webhooks | Gets the BMC Helix Operations Management Webhook |
HOM Delete Webhook | If a Webhook with the same name is provided in the hom_webhook_name project variable, deletes that Webhook |
HOM Get Refresh Token | Generates a token for the access key, secret key, and tenant ID and passes it to the HOM Get JWT operation |
HOM Get JWT Token | Generates a JSON web token (JWT) token based on the refreshed token received from HOM Get Refresh Token |
HOM Get API Key | Gets the BMC Helix Operations Management API Key required to execute Webhook |
Flow Controller
This workflow defines the operation to be triggered depending on the application from which the request is received.
Sync HOM to SNOW
This workflow creates or updates the ServiceNow incident when a BMC Helix Operations Management event is created or status is updated. The following operations are included in this workflow:
Operation name | Actions performed |
---|---|
Initialization and Driver Script HOM | Enables all the API entry points by using the details provided in the project variables |
Parse the Source Payload | Gets the details of the BMC Helix Operations Management event to create the corresponding incident in ServiceNow |
Create Incident in ServiceNow | Maps the required BMC Helix Operations Management fields to the ServiceNow incident fields |
Query Incident Number | Gets the ServiceNow incident ID corresponding to the BMC Helix Operations Management event |
Update Incident Number in HOM | Updates the BMC Helix Operations Management event with the ServiceNow incident URL and number |
Update Snow Through API |
|
Failure Email | Sends an email notification if incident creation or update fails |
HOM Callback Response | Returns the ServiceNow incident ID to BMC Helix Operations Management |
Sync SNOW to HOM
This workflow updates the BMC Helix Operations Management event when a ServiceNow incident status or work note is updated. The following operations are included in this workflow:
Operation name | Actions performed |
---|---|
Initialization and Driver Script HOM | Enables all the API entry points by using the details provided in the project variables |
Update incident status in HOM | Uses the update event activity to get details of the BMC Helix Operations Management event and updates the ServiceNow incident status in BMC Helix Operations Management |
Validation | Validates the ServiceNow incident |
Update incident notes in HOM | Adds ServiceNow worknote updates in BMC Helix Operations Management |
failure notification snow | Sends an email notification if the update event fails |
HOM Generate JWT | Maps the required ServiceNow incident fields to the BMC Helix Operations Management event fields |
Add Notes | Adds the notes updated in the ServiceNow incident to the BMC Helix Operations Management event |