Creating BMC Helix ITSM incidents for ServiceNow incidents by using, Jitterbit Harmony
BMC Helix iPaaS, powered by Jitterbit provides a pre-built integration template to synchronize incidents created and updated in ServiceNow with BMC Helix ITSM. 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 integration template provides the following capabilities:
Use case | ServiceNow to BMC Helix ITSM |
---|---|
Create incidents | Creates a BMC Helix ITSM incident from a new ServiceNow incident |
Creates a BMC Helix ITSM incident from an updated ServiceNow incident that had been created before the integration was deployed | |
Update incidents | Updates a BMC Helix ITSM incident from an updated ServiceNow incident |
ServiceNow to BMC Helix ITSM data flows
The following image gives an overview of the data flow for creating a BMC Helix ITSM incident from a ServiceNow incident:
The following image gives an overview of the data flow for updating a BMC Helix ITSM incident from a ServiceNow incident:
Before you begin
You require the following items to successfully set up and use this integration:
Required versions |
|
---|---|
Authentication and permissions |
|
Jitterbit Harmony subscription | A valid BMC Helix iPaaS subscription |
Application registration | Generate client ID and secret for BMC Helix iPaaS to register your BMC Helix iPaaS instance with ServiceNow. To do this, you must create an OAUTH API endpoint in ServiceNow, and then add the client ID and secret in the client_id and client_secret project variables defined in the project. |
Task 1: To download and import the integration template project file
Download the Sync ServiceNow Incidents with BMC Helix ITSM Update 2023-01-03 file.
This file contains the BMC Helix iPaaS Integration Studio project Sync ServiceNow Incidents with BMC Helix ITSM project.- As a developer, log in to BMC Helix iPaaSand navigate to the Integration Studio.
- On the projects page, click Import.
- Click Browse to navigate to and select the Sync ServiceNow Incidents with BMC Helix ITSM Update 2023-01-03 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 Sync ServiceNow Incidents with BMC Helix ITSM project and click View/Edit.
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, and 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 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 and the fields for that 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 update the project variables for the integration template
- Next to the Environment name, click the ellipsis ... and select Project Variables.
- Update the following project variables:
Access points and authentication details for ServiceNow, BMC Helix ITSM, and BMC Helix iPaaS applications
Project variable
Action
ServiceNow
Source_Endpoint
Enter the ServiceNow host URL.
Source_User
Enter the user ID to access ServiceNow.
Source_Password
Enter the password of the user to access ServiceNow.
Source_Client_Id
Enter the OAUTH API endpoint ID generated in ServiceNow.
Source_Client_Secret
Enter the OAUTH API endpoint client secret generated in ServiceNow.
Source_Webhook_Basic_User
Enter the ServiceNow system property name to store BMC Helix iPaaSBASIC authentication username.
Source_Webhook_Basic_Password
Enter the ServiceNow system property name to store BMC Helix iPaaS BASIC authentication password.
Source_Webhook_APIKEY
Enter the name of the ServiceNow system property to store BMC Helix iPaaS basic authentication profile user name.
Source_Webhook_Script_Include_Name
Enter the name of the Script include to be used for the Webhook configuration.
Source_Webhook_Property_Name
Enter the ServiceNow system property that has apikey for the BMC Helix iPaaS APIKEY authentication profile.
Source_Webhook_Business_Rule_Name
Enter the name of the business rule created for the ServiceNow Webhook configuration.
By default, set to Jitterbit send new incident for itsm.
BMC Helix ITSM
Target_Incident_URL
Enter the RestAPI URL of the BMC Helix ITSM instance.
The integration uses this URL to construct the Incident URL populated in the ServiceNow field defined in the Source_Reference_Field1 project variable.
Important: If both Target_Incident_URL and Target_Midtier_URL are provided, the Target_Incident_URL is given preference.
Target_Midtier_URL
Enter the RestAPI URL for the Mid-Tier.
Important: Provide the Mid-Tier URL if you have not implemented Smart IT.
Target_Endpoint
Enter the URL of the BMC Helix ITSM instance.
Target_User
Enter the user ID to access BMC Helix ITSM.
Target_Password
Enter the password for the user ID to access BMC Helix ITSM.
Target_Service_Type
Enter a valid BMC Helix ITSM Service Type.
By default, this value is set to User Service Restoration.
BMC Helix iPaaS
BHIP_Url
Enter the URL to access BMC Helix iPaaS.
BHIP_User
Enter the user ID to access BMC Helix iPaaS.
BHIP_User_Password
Enter the password of the user ID to access BMC Helix iPaaS.
Webhook API variables
Project variables
Action
Jitterbit_Project_Name
Enter the name of the ServiceNow project for which to create the Webhook API.
Jitterbit_Operation_Name
Enter the name of the operation to trigger when the Webhook API is triggered. This value is added to the BMC Helix iPaaS Jitterbit API.
By default, the value is set to Integration API Flow Controller.
Jitterbit_Integration_API_Name
Enter the name for the Webhook API that is created in ServiceNow; for example, set the value to ServiceNowToITSMAPI.
Jitterbit_Integration_API_Method
Enter the RestAPI method that is used by the Webhook API. This value is added to the BMC Helix iPaaS Jitterbit API.
Valid values include:
- POST (Default)
- GET
- PUT
- DELETE
Jitterbit_Integration_API_Response_Type
Enter the RestAPI response type used by the Webhook API created. This value is added in the
BMC Helix iPaaS
Jitterbit API.
By default, set to FINAL_TARGET.Jitterbit_Integration_API_Security_Profile_Type
Enter a security profile type.
Valid values include:
- BASIC (Default)
- ANONYMOUS
- APIKEY
Enter comma separated values to select multiple profile types (APIKEY,BASIC).
A security profile type defines the authentication type to be used by the Webhook API. This value is added in the BMC Helix iPaaS Jitterbit API.
Important:
- For profile types supported by the source 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.
Jitterbit_Webhook_Security_Profile_Type
Define which authentication method to use, if multiple values are defined in the Jitterbit_Integration_API_Security_Profile_Type project variable.
Jitterbit_Integration_API_Security_Profile_Name_Suffix
Enter a suffix to be added to the name of the security profiles created.
Jitterbit_Integration_API_Security_Profile_BASIC_Auth_Username
For the security profile type BASIC, enter the user name to be used to create the security profile.
This username is used for authentication by the Jitterbit API and the Webhook API.
Jitterbit_Integration_API_Security_Profile_BASIC_Auth_Password
For the security profile type BASIC, enter the password for the security profile created.
This password is used for authentication by the Jitterbit API and the Webhook API.
Jitterbit_Integration_API_Security_Profile_ApiKey_Name
For the security profile type APIKEY, enter the name of the APIKEY to set on the security profile.
This APIKEY is used for authentication by the Jitterbit API and the Webhook API.
BHIP_API_TimeOut
Enter a value, in seconds, for an API timeout. The minimum value must range between 30 and 180. By default, the value is set to 90.
Mandatory ITSM fields to be updated manually
The following field values must be populated before you run the integration:
Project variable
Action
Target_Company
Enter the name of a valid BMC Helix ITSM company for which the incident should be created.
Target_Service_Type
Enter a service type for the incident created in BMC Helix ITSM.
By default, this value is set to User Service Restoration.
Fields for ITSM incident details
Project variable
Action
Source_Reference_Field1
Enter the name of a valid field to store the URL of the ITSM incident. We recommend that you set this to correlation_display.Important: If you have provided a Target_Midtier_URL, the allowed field length of the ServiceNow field must be 300 characters or more for the complete URL to be stored in the field. If you choose to select correlation_display field, you need to manually update the field size to 300 characters.
Source_Reference_Field2
Enter the name of a valid field to populate the corresponding ITSM incident number. We recommend that you set this to correlation_id.
Email notification configurations
Project variable
Action
Jitterbit_SMTP_Hostname
Enter SMTP host details for emails configuration.
Jiiterbit_To_Email_Address
Enter the email address to which you want to send the notification emails.
Jitterbit_From_Email_Address
Enter the email address from which the notification emails should be sent.
Jitterbit_Email_Subject
Enter default subject line for the notification email.
Jitterbit_Email_Enabled
Define if notification emails should be sent.
By default, the value is set to true. If you want to disable email notifications, set the value to false.
Jiiterbit_Email_On_Success
Define if emails should be sent if workflow is successful.
By default, this value is set to true. To disable email notifications for successful operations, set the value to false.
Jitterbit_Email_On_Error
Define if emails should be sent if an error occurs in the data migration.
By default, this value is set to true. To disable email notifications for errors, set the value to false.
(Optional) Task 4: To review and update out of the box field mappings
Out-of-the-box field mappings are defined in the transformation elements of the Create incidents in ITSM and Update ITSM incident operations in the Sync ServiceNow Incidents to ITSM workflow. For additional information about the workflow, see Workflows included in the integration template.
The following out of the box field are mapped in the Prepare ITSM request transformation element for the Create incidents in ITSM operation:
ServiceNow fields | ITSM fields |
---|---|
State | Status Important: The State values are mapped to the same BMC Helix ITSM Status values. The State On Hold is mapped to the ITSM Status Pending. |
Caller (First name, Last name) | Customer First Name, Customer Last Name. |
Short Description | Description |
Description | Detailed Description |
Impact | Impact |
Contact Type | Reported Source |
Incident ID and System ID | Vendor Ticket ID |
Urgency | Urgency |
The following ITSM fields are mapped to project variables or prepopulated.
ITSM field | Project variable |
---|---|
Contact Company and Company | Target_Company |
Service Type | Target_Service_Type |
Created By | Prepopulated to ServiceNow |
The same fields are mapped for the Update ITSM incident operation in the Map ServiceNow to ITSM incident data transformation element. The following additional fields are also mapped in the Map ServiceNow to ITSM incident data transformation element:
ServiceNow field | ITSM field |
---|---|
Status | Status Reason |
Request ID | Request ID |
Close Notes | Resolution |
You can edit the ServiceNow to BMC Helix ITSM field mappings provided by the integration template. To do so, you need to update the transformation element in the workflow and map the fields.
To update out of the box field mappings
- Open the Sync ServiceNow Incidents with BMC Helix ITSM project.
- Scroll through the workflow, and select the appropriate transformation element and select View/Edit:
- To update field mappings for the Create Incident operation, click the Mapping ITSM response transformation element.
- To update field mappings for the Update Incident operation, click Map ServiceNow to ITSM incident transformation element.
- In the Target pane, from the View menu, select Mapped.
- On the Variables tab, click Use Variables
- From the variable list, drag the variable to the field mapping you want to update in the Mappings section.
Click Return to Workflow
.
Task 5: 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, a corresponding incident is created in BMC Helix ITSM when an incident records created in ServiceNow. Any updates made to the ServiceNow incident are synced with the BMC Helix ITSM incident. The ServiceNow Incident ID is displayed in the Vendor Ticket No field in BMC Helix ITSM.
(Optional) Task 6: 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 increase the debug mode for a longer period of time, perform the following steps:
- In BMC Helix iPaaS, powered by Jitterbit, select API Manager > My APIs.
- Open the API created for the integration. The API name is the value defined in the Jitterbit_Integration_API_Name project variable.
- Select Enable Debug Mode Until: and set it for the required date and time.
- Save and publish the API.
(Optional) Task 7: To update the default trigger conditions for the ServiceNow Incidents to ITSM project
You can update the trigger condition defined out of the box for the integration by updating the Webhook configuration added to ServiceNow.
- Log in to ServiceNow as an Administrator.
- From the navigation menu, select System Definition - Business Rule.
- Select the Jitterbitsendnewincidentforitsm rule.
- On the When to run tab, select your trigger conditions.
- To add additional conditions to trigger the integration, add the required filters under Filter Conditions.
For example, to create ITSM incidents only for High priority ServiceNow incidents, click Add Filter Condition, then select the Priority field, select is operation, and select High as the value. - Additionally, you can add filter conditions if you want to disable any of the integration template use cases.
For example, if you do not want to create new incidents in BMC Helix ITSM for existing ServiceNow incidents, you can add the filter condition:
Select field Created and enter date criteria as on or before <date of the integration was deployed>.
(Optional) Task 8: To map custom ServiceNow fields to existing BMC Helix ITSM fields
You can map custom fields created in ServiceNow to existing BMC Helix ITSM fields by updating the mappings in the integration template. If you delete a custom field that is not mapped to a mandatory field in BMC Helix ITSM, the integration continues to work. However, we recommend that you delete the field mappings from the integration template project.
To add the field mapping for a new custom field created in ServiceNow
- Log in to BMC Helix iPaaS as an administrator and navigate to the Integration Studio.
- Select the environment where the integration templates are available.
- Select the Sync ServiceNow Incidents with BMC Helix ITSM project and click View/Edit.
- Expand the Sync ServiceNow Incidents to ITSM workflow.
- Refresh the schema to include the custom fields added to ServiceNow.
- Select the Query incident element in the Query ServiceNow Incident workflow and click View/Edit.
- Click Step 1 in the query, and then click Refresh.
- From the Select an Object list, select the incident table, and click Next.
- On Step 2, to ensure that your custom field is added to the list of incident fields, click Refresh.
- When the incident field table is loaded, to select any new fields added to ServiceNow incident table, deselect and then select SELECT ALL.
- Click Next, and then on Step 3, click Finished.
- To create and update mappings for the custom field in other transformations, create a global variable for the custom field.
- Click the Mapping Servicenow incident to variable transformation element in the Query ServiceNow Incident operation, and click View/Edit.
- In the Target pane, click Settings and select Edit schema.
- To add the field mapping for the custom field, click Add Field.
- Scroll to the bottom of the field list, enter the field name and select the Type, and then click Save Changes..
- To create and update the mapping for the custom field in other transformations, in the Target pane, click the script icon
next to the new field and add a global variable entry for the field. For example, add the following global variable to the script:
$custom_field = OUTPUT$incident$Entity.u_custom_field$;
- Map the custom field to an existing BMC Helix ITSM field.
- Click the Prepare ITSM request transformation element in the Create incident in ITSM operation and select View/Edit.
- On the Variables tab, click Use Variables. .
- From the variable list, drag and drop the global variable you created for your custom field, and map it to the BMC Helix ITSM field in the Target pane.
- Click Return to Workflow.
- Similarly, map the global variable to the BMC Helix ITSM field in the Map ServiceNow to ITSM incident data transformation element of the Update incident in ITSM operation.
- Deploy the integration.
For more information about deploying the project, see Task 4: To deploy and enable the project. - If you delete the custom field from ServiceNow, you must delete the custom field mapping in the integration template. To delete the custom field mappings:
- Refresh the schema in the Query incident element of the Query ServiceNow Incident workflow.
- Remove the global variable created in the Mapping ServiceNow incident to variable transformation element of the Query ServiceNow Incident operation
- Remove the field mappings defined for the custom field in the Prepare ITSM request transformation element in the Create incident in ITSM operation and the Map ServiceNow to ITSM incident data transformation element of the Update incident in ITSM operation.
- Deploy the integration.
For more information about deploying the project, see Task 4: To deploy and enable the project.
Workflows included in the integration template
The following workflows are defined as a part of the integration template. This section describes the details of the 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 |
---|---|
Login to Jitterbit | Logs in to BMC Helix iPaaS by using the Jitterbit credentials provided in the project variables |
Check Custom API and Security Profiles exist | Verifies if any custom APIs or security profiles exist for the ServiceNow integration |
Delete API and Security Profile if needed | Deletes existing APIs or security profiles, if required |
Create Security Profiles and Custom API | Creates the security profiles and RestAPIs in BMC Helix iPaaS |
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 | Updates the configuration with the new data if Webhook API configuration exists |
Failure notification | Sends an email notification if the Webhook API configuration is not added to ServiceNow |
Sync ServiceNow Incident to ITSM
This workflow creates or updates the BMC Helix ITSM incident when a ServiceNow incident is created or updated. The following operations are included in this workflow:
Operation name | Actions performed |
---|---|
Integration API Flow Controller | Enables all the API entry points by using the details provided in the project variables |
Query ServiceNow incident | Gets details of the ServiceNow incident to create the corresponding incident in BMC Helix ITSM |
Create incidents in ITSM | Maps the required ServiceNow fields to the BMC Helix ITSM incident fields |
Update ITSM incident number in ServiceNow | Updates the ServiceNow incident with the BMC Helix ITSM incident URL and number |
Update ITSM incident |
|
Update Work Notes | Updates the Work Info field in BMC Helix ITSM |
Error Notification | Sends an email notification if incident creation or update fails |