Integration with Moogsoft
BigFix Runbook AI integrates with Moogsoft 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 with ITSM (ServiceNow)
This scenario is applicable when the ITSM tools is available in the client environment and both event management & BigFix Runbook AI is integrated with the ITSM, which acts as a system of record. The event data flows from event management tool to the ITSM leading to a ticket, based on the probable root cause. Upon ticket creation, BigFix Runbook AI picks the ticket from the ITSM tool and performs the appropriate action for resolution.
The user has the option to view the tickets and trigger the resolutions via Moogsoft as well as BigFix Runbook AI console.
To create a data source, perform the following steps:
- On the main menu bar, click Actions 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 (Optional – applicable only when the ticket closure status update is managed by BigFix Runbook AI directly instead of RBA tool)
- InProgress Rules Configuration (Optional – applicable only when the ticket’s in progress status updates is managed by BigFix Runbook AI directly instead of RBA tool)
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 Event Management, since we are configuring this data source for pulling the event data.
- Select the Service as Moogsoft Tool as we are configuring the data source for Moogsoft
- Select the Integration Type as REST, since we will be integrating through REST APIs.
- Check Is ticket Closure Managed by BigFix Runbook AI job if you want BigFix Runbook AI to manage the ticket closure updates instead of the RBA tool. In this scenario, an additional tab Close Rules Configuration will be activated for providing further details, steps for which are mentioned later.
- Check “Is ticket InProgress Managed by BigFix Runbook AI job” if you want BigFix Runbook AI to manage the ticket’s in progress status updates instead of the RBA tool. In this scenario, an additional tab “InProgress Rules Configuration” will be activated for providing further details, steps for which are mentioned later.
- 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.
- Select Analysis Enabled? if user wants to analyze the data retrieved from the data source.
- 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 - https://URL.service-now.com/api/now/v1/table/incident?sysparm_fields=#Columns#&sysparm_query=sys_updated_on>=#StartDate#^sys_updated_on<=#EndDate#^ORDERBYsys_updated_on
- Authentication Type – Select one of the Authentication Types from Basic / Windows, JWT, OAuth 2.0
- 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.
- 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: #Columns#
ValueType: Text
Value:
number,sys_updated_on,short_description,description,assignment_group,incident_state,closed_at,category,dv_assigned_to,sys_id
Note – These columns are mandatory. User can add more columns if more data is required to be fetched from ITSM tool.
Key: #StartDate#
ValueType: SQL UDF
VALUE: @@GetFromDateTimeUsingIncidentModifiedDate
Key: #EndDate#
ValueType: SQL UDF
VALUE: @@GetToolCurrentDateTime
- 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 –
{ "result": [{ "number": "INC0079154", "closed_at": "", "assignment_group": { "link": "<https://sample.service-now.com/api/now/v1/table/sys_user_group/All user group>", "value": "All user group" }, "incident_state": "6", "sys_created_on": "2017-12-22 06:59:03", "description": "Memory Utilization:10.0.0.11", "short_description": "Memory Utilization:localhost", "sys_updated_on": "2018-01-02 06:39:56", "category": "", "priority": "4", "sys_id": "123456" }] }
- 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.number |
Summary | JSON.Keys | result.0.short_description |
Description | JSON.Keys | result.0.description |
CreationDate | JSON.Keys | result.0.sys_created_on |
StatusCode | JSON.Keys | result.0.incident_state |
ResolvedDate | JSON.Keys | result.0.closed_at |
LastModifiedDate | JSON.Keys | result.0.sys_updated_on |
- 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.assignment_group.value |
Col1 | JSON.Keys | result.0.sys_id |
- 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.
- Sample URL - https://<url>.service-now.com/api/now/table/incident/#incident#
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously.
- Request Method – Select Request Method as PUT from the drop-down.
- 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.
- 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: #incident#
ValueType: Table Columns
Value:
Select from dropdown that mapped to sys_id from previous screen “Col2”
- Request Header Parameters – Please enter the request header parameters as required.
- Request Body – In this section, please enter the request body in JSON format. A sample request is mentioned below.
Request Body –
{ "assignment_group" : "#AssignmentGroup#","work_notes" : "#work_notes#" }
- Response Body – In this section, please enter the response body in JSON format. A sample response is mentioned below.
Response Body –
{ "result" : "#success#" }
- Response Key Value mapping can be done as per the below table.
Table 63– Sample Response Key Value Mapping
#success# | Text | OK |
- On Close Rules Configuration tab, type in the details as per the requirement. Check Same as Release if similar configurations as mentioned in “Release Rules Configuration” are required, else proceed ahead
- 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://<url>.service-now.com/api/now/table/incident/#incident#
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously.
- Request Method – Select Request Method as PUT from the drop-down.
- 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.
- 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: #incident#
ValueType: Table Columns
Value:
Select from dropdown that mapped to sys_id from previous screen “Col2”
- Request Header Parameters – Please enter the request header parameters as required.
- Request Body – In this section, please enter the request body in JSON format. A sample request is mentioned below.
Request Body –
{ "incident_state" : "6"} If you also want to add worknotes while Close ticket, use json {"incident_state":"6", "work_notes": "#Notes#"}
- Response Body – In this section, please enter the response body in JSON format. A sample response is mentioned below.
Response Body –
{ "result" : "#success#" }
- Response Key Value mapping can be done as per the below table.
#success# | Text | OK |
- On InProgress Rules Configuration tab, type in the details as per the requirement. Check Same as Release if similar configurations as mentioned in “Release Rules Configuration” are required, else proceed ahead.
- 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://<url>.service-now.com/api/now/table/incident/#incident#
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously.
- Request Method – Select Request Method as PUT from the drop-down.
- 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.
- 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: #incident#
ValueType: Table Columns
Value:
Select from dropdown that mapped to sys_id from previous screen “Col2”
- Request Header Parameters – Please enter the request header parameters as required.
- Request Body – In this section, please enter the request body in JSON format. A sample request is mentioned below.
Request Body –
{"incident_state" : "2"} If you also want to add worknotes while inprogress ticket, use json {"incident_state":"2", "work_notes": "#Notes#"}
- Response Body – In this section, please enter the response body in JSON format. A sample response 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.
- Enter the sys_id of the assignment group in ServiceNow in the Value field.
- Clause and Sub-Clause fields can also be added based on requirement.
- Click Save.
Incident Management without ITSM (ServiceNow)
This scenario is applicable when the ITSM tools is not available in the client environment and event management tool and BigFix Runbook AI are tightly integrated directly. The event data or the probable root cause identified flows to BigFix Runbook AI which then performs the appropriate action for resolution.
The user has the option to view the events and trigger the resolutions via Moogsoft as well as BigFix Runbook AI console.
To create a data source, perform the following steps:
- On the main menu bar, click Actions Tab Manage Data Source.
- The Create Data Source page appears with the following tabs:
- Organization
- Data Source
- Fetch Data Configuration
- Release Rules Configuration
- Close Rules Configuration (Optional – applicable only when the issue closure status update is managed by BigFix Runbook AI directly instead of RBA tool)
- InProgress Rules Configuration (Optional – applicable only when the issue’s in progress status updates is managed by BigFix Runbook AI directly instead of RBA tool)
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 Event Management, since we are configuring this data source for pulling the event data.
- Select the Service as Moogsoft Tool as we are configuring the data source for Moogsoft
- Select the Integration Type as REST, since we will be integrating through REST APIs.
- Check Is ticket Closure Managed by BigFix Runbook AI job if you want BigFix Runbook AI to manage the ticket closure updates instead of the RBA tool. In this scenario, an additional tab Close Rules Configuration will be activated for providing further details, steps for which are mentioned later.
- Check “Is ticket InProgress Managed by BigFix Runbook AI job” if you want BigFix Runbook AI to manage the ticket’s in progress status updates instead of the RBA tool. In this scenario, an additional tab “InProgress Rules Configuration” will be activated for providing further details, steps for which are mentioned later.
- 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.
- Select Analysis Enabled if user wants to analyze the data retrieved from the data source.
- 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://<IP>:<PORT>/iAutomateAPI/Request/GetIncidentTicketData/11?start_date>=#startdate#&end_date<=#enddate#
- Authentication Type – Select one of the Authentication Types from Basic / Windows, JWT, OAuth 2.0
- 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.
- 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: #StartDate#
ValueType: SQL UDF
VALUE: @@GetFromDateTimeUsingIncidentModifiedDate
Key: #EndDate#
ValueType: SQL UDF
VALUE: @@GetToolCurrentDateTime
- 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 –
{ "result": [ { "TicketNumber": "1006976", "Summary": "Restart Spooler service on target server ", "Description": "Restart Spooler service on target server", "AssignedGroup": "945e4f5b7ba0108fd5bfce83af21369", "StatusCode": "1", "CreationDate": "2020-05-04 10:40:30.000", "LastModifiedDate": "2020-05-04 04:41:50.000", "ClosedDate": "2020-05-06 10:41:53.000", "sys_id": "945e9006d4b89a98fe7574c1cc284", "Col1": "", "Col2": "", "Col3": "", "Col4": "", "Col5": "", "iAutomate_CreatedDateInGMT": "2020-05-04 05:25:36.350", "iAutomate_UpdatedDateInGMT": "2020-05-04 05:25:36.350" } ] }
- 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 |
Col1 | JSON.Keys | result.0.sys_id |
- 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.
- Sample URL - https://<URL>/graze/v1/#value#
- Authentication Type – Please enter the information in line with the Authentication type configured for fetching data configuration previously.
- Request Method – Select Request Method as PUT from the drop-down.
- 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.
- 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#
ValueType: Text
Value: createThreadEntry
- Request Header Parameters – Please enter the request header parameters as required.
- Request Body – In this section, please enter the request body in JSON format. A sample request is mentioned below.
Request Body –
{"sitn_id" : "#id#", "thread_name" : "#thread#"", "entry" : "#Entry#", "resolving_step" : "#resolvingstep#"}
- Response Body – In this section, please enter the response body in JSON format. A sample response 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 Event Management 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 Moogsoft in the Value field.
- Clause and Sub-Clause fields can also be added based on requirement.
- Click Save.