Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Page Contents
Table of Contents | ||
---|---|---|
|
Live Search spaceKey ZenGRCOnboardingGuide additional none placeholder Search our site type page
Overview
The first step in integrating the ServiceNow connector includes installing an application in the ServiceNow environment.
There are two necessary actions for the installation that are outlined in this documentation. They include the following:
Adding the ZenGRC Request Table to the ServiceNow Database.
Configuring the ZenGRC Request Application in ServiceNow.
- Configuring a service-level API account for ZenGRC to access ServiceNow
Adding the ZenGRC Request Table to the ServiceNow Database
Add a new table, called ZenGRC Request, to the ServiceNow database by completing the following steps.
- Log into ServiceNow.
In the left-hand menu, click Scripts - Background. It may be easier to find by using the Filter navigator as shown below:
Copy and paste the following script into the Run Script (Javascript executed on server) field in ServiceNow and click Run Script.
Code Block language js linenumbers true // Version 0.4 // Copy and paste into ServiceNow var table_name = 'zengrc_requests', extends_table = 'task', auditId = 'audit_id', auditTitle = 'audit_title'; var attrs = new Packages.java.util.HashMap(); // Audit ID var ai = new GlideColumnAttributes(auditId); ai.setType("string"); ai.setUsePrefix(false); attrs.put(auditId, ai); // Audit Title var at = new GlideColumnAttributes(auditTitle); at.setType("string"); at.setUsePrefix(false); attrs.put(auditTitle, at); var tc = new GlideTableCreator(table_name , table_name); tc.setColumnAttributes(attrs); if(typeof extends_table != 'undefined') tc.setExtends(extends_table); tc.update(); // Create Customs ZenGRC states var newCh = new GlideRecord('sys_choice'); newCh.newRecord(); newCh.name = 'zengrc_requests'; newCh.element = 'state'; newCh.label = 'Pending'; newCh.value = 10; newCh.insert(); newCh.label = 'Work in Progress'; newCh.value = 20; newCh.insert(); newCh.label = 'Closed Complete'; newCh.value = 30; newCh.insert();
Configuring the ZenGRC Application in ServiceNow
Next, tailor the look-and-feel of the ZenGRC application in ServiceNow (e.g. the task card view, the left-hand-side link, the unique numbering schema, etc.) by adding configuration elements as follows:
- Download this XML for ServiceNow and place it in a memorable place on your computer.
In ServiceNow, click Update Sets to Commit in the left-hand menu.
Click Import Update Set from XML.
- In Step 1, click Choose File and select the XML file you saved in the first step of these instructions.
- In Step 2, click Upload. A new row, called ZenGRC, is added for the update set.
- Click the ZenGRC link in the Name column.
- Click Preview Update Set.
- When the update is complete, click Close to close the dialog box.
- Click Commit Update Set.
Configuring a Service-Level API Account in ServiceNow
Username/Password Option
Create a service-level account user in ServiceNow and note the username/password so that it can be entered into the ServeiNow connection settings screen in ZenGRC. The service-level account requires the following permissions:
Permissions
The following permissions are required for the API:
Object / Table | Permission | Reason |
---|---|---|
/table/zengrc_requests | READ/WRITE | Access to where the requests will be stored |
/table/sys_user | READ | |
/table/vtb_board | READ/WRITE | To create the board |
/table/vtb_lane | READ | |
/table/vtb_card | READ | |
/attachment/ID/file | READ | To get attachments |
/table/sys_journal_field | READ/WRITE | Comments and work notes |
0auth2 Option
Leverage the link from the old documentation here and mention that the SOW admin should note the generated token/secret for entry into the ZenGRC connection settings screen
Info | ||
---|---|---|
| ||
Continue to Configuring ZenGRC with ServiceNow. |
Include Page | ||||
---|---|---|---|---|
|