Integration with ServiceXchange
BigFix Runbook AI integrates with ServiceXchange for Incident Management (IM) by creating and managing the required IM data sources. Before creating or configuring the data source, ensure that the organization has been set up.
Incident Management
In order to create data source for Incident Management, perform the following steps.
On the main menu bar, click Action Manage Data Sources .
- The Create Data Source page appears with the following tabs:
- Organization
- Data Source
- Fetch Data Configuration
- Release Rules Configuration
- Close Rules Configuration
- InProgress Rules Configuration
Release Rules Configuration is only applicable for the following Module types- Incident Management, Change Request Task and Service Request Task. This tab will not be activated for other module types.
- On the Organization tab,
- Select the Organization Name from the dropdown.
- Select the Module as Incident Management, since we are configuring this data source for pulling the incident tickets.
- Select the Service as SX Tool as we are configuring the data source for Cherwell
- Select the Integration Type as REST, since we will be integrating through REST APIs.
- Click Next.
- On the Data Source tab,
- Type the new data source in the Name field.
- Select the Timezone to specify the time zone of the selected data source.
- Select Timestamp to view the present data with date and time.
- Click Next.
- On the Fetch Data Configuration tab, type in the details as per the environment.
- In the Connection Details section, enter the following details:
- URL – Type the URL which contains the placeholders that display the parameters based on the applied clause such as the number of records to be fetched, query type, date on which the data is fetched, and the order by and so on. It is dependent on the URL or API provided by the tool.
- Sample URL – http://<iAutomate_API_URL>/iAutomateAPI/Request/ GetIncidentTicketData/<Org_ID>? ModuleId=1&start_date>=#Start_Date#&end_date<=#End_Date#&
Here, < iAutomate_API_URL > is the API URL of BigFix Runbook AI where Push APIs are present and <Org_ID> is the OrgID for the organization for which you are creating the data source. It is available in Organization Master in Database.
- Authentication Type – Select one of the Authentication Types from Basic / Windows, JWT, OAuth 2.0
The user details that are entered here should be an API User
- Selection of Basic / Windows requires you to enter -
- User Id
- Password.
- Selection of JWT / OAuth 2.0 requires you to enter -
- User Id
- Password
- Authentication URL
- Proxy Required – Check Proxy Required, if the environment needs access to content from data sources outside the firewall.
- Click on Test Connection to check accessibility of URL from service. Testing the connection is not mandatory, you can still create Data source.
- Password For password, click on icon next to it. If the password is available in plaintext then select Input type as Input Text and enter the password in Value field. Else if it is available in any Key Vault such as CyberArk then select Input Type as CyberArk and then select any of the configured details from the value field.
- Request Authentication Parameters – If the user has additional parameters, click Add Authentication Parameters under the Request Authentication Parameters tab. Based on the Authentication Type, add the parameters mentioned in the below table.
Authentication Type | Key | Value | Is Encrypted? | Is Key? |
JWT | username | <username> | NO | YES |
JWT | password | <password> | YES | YES |
JWT | AuthMethod | POST | NO | NO |
JWT | AuthPrefix | AR-JWT | NO | NO |
JWT | TokenKey | access_token | NO | NO |
JWT | ResponseType | TEXT | NO | NO |
OAuth2.0 | username | <username | NO | YES |
OAuth2.0 | password | <password> | YES | YES |
OAuth2.0 | AuthMethod | POST | NO | NO |
OAuth2.0 | AuthPrefix | Bearer | NO | NO |
OAuth2.0 | client_id | <clientID> | YES | YES |
OAuth2.0 | client_secret | <clientsecret> | YES | YES |
OAuth2.0 | TokenKey | access_token | NO | NO |
OAuth2.0 | ResponseType | JSON | NO | NO |
OAuth2.0 | grant_type | Password | NO | YES |
- URL Path Parameters – Based on the URL entered earlier, please map the values to the URL Path Parameters. E.g., for the URL entered earlier, please populate the below inputs:
Key | Value Type | Value |
#start_date# | SQL UDF | @@GetFromDateTimeUsingIncidentModifiedDate_ServiceXchange |
#end_date# | SQL UDF | @@GetToolCurrentDateTime_ServiceXchange |
- Request Header Parameters – Please enter the request header parameters as required.
- Response Body – In this section, please enter the output of URL query for one of the incidents in JSON format. A sample response is mentioned below:
Response Body –
{
"statusCode": 200,
"status": "Success",
"message": null,
"result": [
{
"TicketNumber": "INC0303869",
"Summary": "testing",
"Description": "testing data",
"AssignedGroup": "02cc6a39376e4f00c72b2b2943990e68",
"StatusCode": "1",
"CreationDate": "2022-09-23 09:26:52.000",
"LastModifiedDate": "2022-09-23 09:26:52.000",
"ClosedDate": "2022-09-22 06:24:52.000",
"sys_id": "2b535ab3dbc988506d7550d3dc96190e",
"Col1": "",
"Col2": "",
"Col3": "",
"Col4": "",
"Col5": "",
"Col6": "",
"Col7": "",
"Col8": "",
"Col9": "",
"Col10": "",
"iAutomate_CreatedDateInGMT":"2022-09-23 09:27:22.773",
"iAutomate_UpdatedDateInGMT": "2022-09-23 09:27:22.773"
}
]
}
- After entering the response, click Extract Keys to add the parameters in the Mandatory Parameter Mapping section.
- Mandatory Parameter Mapping – Please map the mandatory parameters to the respective values as mentioned in the screenshot below:
Key | Value Type | Value |
TicketNumber | JSON.Keys | result.0.TicketNumber |
Summary | JSON.Keys | result.0.Summary |
Description | JSON.Keys | result.0.Description |
CreationDate | JSON.Keys | result.0.CreationDate |
StatusCode | JSON.Keys | result.0.StatusCode |
ResolvedDate | JSON.Keys | result.0.ClosedDate |
LastModifiedDate | JSON.Keys | result.0.LastModifiedDate |
- If you need to add Optional parameters, click Add Response Parameter to add more parameters. For our purpose, we will be adding a couple of extra parameters, as mentioned below, as we need them in the later section.
Key | Value Type | Value |
AssignedGroup | JSON.Keys | result.0.AssignedGroup |
- Click Next to proceed to Release Rules Configuration.
- On Release Rules Configuration tab, type in the details as per the requirement.
- In the Connection Details section, enter the following details:
- URL – Type the URL of the selected service type to release the ticket. It contains the placeholders that display the parameters based on the applied clause and is dependent on the URL or API provided by the tool.
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously. For e.g., Basic.
- Request Method – Select Request Method as POST from the drop-down.
- Proxy Required – Check Proxy Required, if the environment needs access to content from data sources outside the firewall.
- Password For password, click on icon next to it. If the password is available in plaintext, then select Input type as Input Text and enter the password in Value field. Else if it is available in any Key Vault such as CyberArk then select Input Type as CyberArk and then select any of the configured details from the value field.
- Request Authentication Parameters - If the user has additional parameters, click Add Authentication Parameters under the Request Authentication Parameters tab.
- Based on the Authentication Type, add the parameters mentioned in the below table
Key | Value | Is Encrypted? | Is Key? |
grant_type | password | N | Y |
username | <username> | N | Y |
Password | <password> | Y | Y |
client_id | <client_id> | N | Y |
AuthPrefix | Bearer | N | N |
AuthMethod | POST | N | N |
ResponseType | JSON | N | N |
TokenKey | access_token | N | N |
- Request Body - In this section, please enter the request body in JSON format. A sample request is mentioned below:
Request Body –
{
"ticketnumber": "#ticket#",
"status": "#status#",
"worknote": "#worknote#",
"assignmentgroup":"#assignmentgroup#",
"clientName": "#clientname#",
"clientItemNumber": "#clientitenumber#"
}
- Response Body – In this section, please enter the response body in JSON format. A sample request is mentioned below:
Response Body –
{ "result" : "#success#" }
- Response Key Value mapping can be done as per the below table.
#success# | Text | OK |
- Click Submit to add the data source.
- On Close Rules Configuration tab, type in the details as per the requirement.
- In the Connection Details section, enter the following details:
- Type the URL of the selected service type to release the ticket. It contains the placeholders that display the parameters based on the applied clause and is dependent on the URL or API provided by the tool.
- Sample URL - https://inboundBoomiDevCHN1.dryicehcl.com/ws/simple/updateIncidentInSX
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously. For e.g., Basic.
- Request Method – Select Request Method as POST from the drop-down.
- Proxy Required – Check Proxy Required, if the environment needs access to content from data sources outside the firewall.
- Password For password, click on icon next to it. If the password is available in plaintext, then select Input type as Input Text and enter the password in Value field. Else if it is available in any Key Vault such as CyberArk then select Input Type as CyberArk and then select any of the configured details from the value field.
- Request Authentication Parameters - If the user has additional parameters, click Add Authentication Parameters under the Request Authentication Parameters tab.
- Based on the Authentication Type, add the parameters mentioned in the below table –
Key | Value | Is Encrypted? | Is Key? |
grant_type | password | N | Y |
username | <username> | N | Y |
Password | <password> | Y | Y |
client_id | <client_id> | N | Y |
AuthPrefix | Bearer | N | N |
AuthMethod | POST | N | N |
ResponseType | JSON | N | N |
TokenKey | access_token | N | N |
- Request Body - In this section, please enter the request body in JSON format. A sample request is mentioned below:
Request Body –
{
"ticketnumber": "#ticket#",
"status": "#status#",
"worknote": "#worknote#",
"clientName": "#clientname#",
"clientItemNumber": "#clientitenumber#"
}
- Response Body – In this section, please enter the response body in JSON format. A sample request is mentioned below:
Response Body –
{ "result" : "#success#" }
- Response Key Value mapping can be done as per the below table.
#success# | Text | OK |
- Click Submit to add the data source.
- On InProgress Rules Configuration tab, type in the details as per the requirement.
- In the Connection Details section, enter the following details:
- URL – Type the URL of the selected service type to release the ticket. It contains the placeholders that display the parameters based on the applied clause and is dependent on the URL or API provided by the tool.
- Sample URL - https://inboundBoomiDevCHN1.dryicehcl.com/ws/simple/updateIncidentInSX
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously. For e.g., Basic.
- Request Method – Select Request Method as POST from the drop-down.
- Proxy Required – Check Proxy Required, if the environment needs access to content from data sources outside the firewall.
- Password For password, click on icon next to it. If the password is available in plaintext, then select Input type as Input Text and enter the password in Value field. Else if it is available in any Key Vault such as CyberArk then select Input Type as CyberArk and then select any of the configured details from the value field.
- Request Authentication Parameters - If the user has additional parameters, click Add Authentication Parameters under the Request Authentication Parameters tab.
- Based on the Authentication Type, add the parameters mentioned in the below table
Key | Value | Is Encrypted? | Is Key? |
grant_type | password | N | Y |
username | <username> | N | Y |
Password | <password> | Y | Y |
client_id | <client_id> | N | Y |
AuthPrefix | Bearer | N | N |
AuthMethod | POST | N | N |
ResponseType | JSON | N | N |
TokenKey | access_token | N | N |
- Request Body - In this section, please enter the request body in JSON format. A sample request is mentioned below:
Request Body –
{
"ticketnumber": "#ticket#",
"status": "#status#",
"worknote": "#worknote#",
"clientName": "#clientname#",
"clientItemNumber": "#clientitemnumber#"
}
- Response Body – In this section, please enter the response body in JSON format. A sample request is mentioned below:
Response Body –
{ "result" : "#success#" }
- Response Key Value mapping can be done as per the below table -
#success# | Text | OK |
- Click Submit to add the data source.
- In order to bring the tickets within BigFix Runbook AI scope, a specific queue needs to be configured in the ITSM tool and same has to be configured in BigFix Runbook AI. This is achieved through Manage the Entry Criteria. Please perform the below steps:
- Go to Actions tab and click Manage Data Sources.
- On the Data Sources tab, click next to the data source user wants to manage. Manage Entry Criteria screen appears.
- Select ‘AssignedGroup’ for the Column field and ‘equals to’ for the Operator field.
- Enter the sys_id of the assignment group in SX in the Value field.
- Clause and Sub-Clause fields can also be added based on requirement.
- Click Save.
- To configure the rules for the data source created earlier, perform the below steps:
- Go to Actions Tab Runbooks and then click Manage Rules.
- Select the Organization and the data source created from Data Source dropdown.
- Click on corresponding to –No Rule—
- Map the parameter #Assignmentgroup# with ElasticOps Rhythm ROW as value and value Type is Text.
- Map the parameter #ticket# with iIncident.TicketNumber as value and value type is Table Columns.
- Map the parameter #status# with Assigned as value and text as Value Type.
- Map the parameter #clientname# with DB Cheques as value and text as Value Type.
- Map the parameter #clientitemnumber# with iIncident.TicketNumber as value and table column as Value Type.
- Map the parameter #worknote# with @@GetReleaseWorkNoteForIncident as Value and SQL UDF as Value Type.
- Click OK.
- Click Save Rule.
- To configure the Close rules for the data source created earlier, perform the below steps:
- Go to Actions Tab and select Runbooks and then click Manage Rules.
- Select the Organization and the data source created from Data Source dropdown.
- Click on corresponding to –No Rule—
- Map the parameter #ticket# with iIncident.TicketNumber as value and value type is Table Columns.
- Map the parameter #status# with Fixed as value and text as Value Type.
- Map #worknote# again to the value type as SQL UDF in which #worknote# was mapped with function @@GetToolWorkNoteForIncident.
- Map the parameter #clientname# with DB Cheques as value and text as Value Type.
- Map the parameter #clientitemnumber# with iIncident.TicketNumber as value and table column as Value Type
- Click OK.
- Click Save Rule.
- To configure the InProgress rules for the data source created earlier, perform the below steps:
- Go to Actions Tab Runbooks and then click Manage Rules.
- Select the Organization and the data source created from Data Source dropdown.
- Click on corresponding to –No Rule—
- Map the parameter #ticket# with iIncident.TicketNumber as value and value type is Table Columns.
- Map the parameter #status# with InProgress as value and text as Value Type.
- Map the parameter #worknote# with BigFix Runbook AI is working on the ticket as Value and text as Value Type.
- Map the parameter #clientname# with DB Cheques as value and text as Value Type.
- Map the parameter #clientitemnumber# with iIncident.TicketNumber as value and table column as Value Type.
- Click OK.
- Click Save Rule.
Integration with Event Management Tools
Any Event Management tool acts as a data source for BigFix Runbook AI from where it pulls the event or Probable Root Cause data and then performs appropriate actions for resolution. Thus, to enable integration with Event Management, it requires for a data source to be created as part of BigFix Runbook AI configuration.
Before proceeding with the configuration related to Data Source creation, user has to ensure that an organization has been configured. If not done already, please refer to the Configuration Guide for the same and create the organization before proceeding ahead.
Please note that for integration with Event Management tool, while creating the organization, user needs to select the Event Management tool from the dropdown.