ServiceNow provides attractive benefits to organizations that are using the ServiceNow platform for IT Service Management. But most organizations have a heterogeneous tool stack with practitioners using tools that were purpose-built for their discipline.
And if the software developers are using one tool, and other team members are using other tools, the flow of information from one discipline to the other is impeded. By integrating ServiceNow to test and defect management, requirements management, and other Agile planning tools, this information is free to flow from tool to tool. And practitioners using those tools are free to collaborate on the artifacts they share, all while using their tool of choice.
As an example, developers and testers need to be able to freely share information about defects. Developers become aware of newly opened defects as soon as they are uncovered and testers need to know when the defect has been fixed so they can verify the fix. But when testers use a test and defect management tool (such as Micro Focus/HPE QC) and the developers use ServiceNow, the information about those defects and what the development team is working on, is separated. By integrating these tools, both teams can share information about the defects, in near real time, all while working in the tool they prefer to use.
ServiceNow offers various out of the box and also custom solutions. Solutions are supported by Hub, as long as they extend the supported artifact tables (see supported features section).
Hub currently supports:
We recommend that you create a new user within your external tool, to be used only for your Hub integration. This is the user information you will enter when setting up your repository connection within Planview Hub. By creating a new user, you will ensure that the correct permissions are granted, and allow for traceability of the modifications that are made by the synchronization.
In general, your user account should have sufficient permissions to create, read, and update artifacts in your repository. However, depending on the use case, your user may need different permissions. For example, if you are only interested in flowing data out of your repository, your user may not need to have full CRUD access, as the 'create' and 'update' permissions may not be needed.
Your user should have a secure password or token. Please be aware that Hub will not allow you to save a repository connection utilizing a weak password/token, such as 'tasktop.'
See ServiceNow instructions on how to create a new Hub user in ServiceNow.
Hub requires access to a specific set of tables within the ServiceNow repository. Follow the instructions below to grant the Hub user access to the required tables:
Table Name |
Operation |
Definition |
---|---|---|
sys_choice sys_choice_list.* |
READ |
Allows Hub to retrieve field options (e.g., single select fields). |
sys_dictionary sys_dictionary.* |
READ |
Allows Hub to understand the valid fields available for the different types. |
sys_ui_element sys_ui_element.* sys_ui_section sys_ui_section.* |
READ |
Allows retrieving the forms and UI elements so Hub knows the visibility of fields to determine whether they should be required. |
sys_properties sys_properties.* |
READ |
Allow reading system properties such as the server’s time zone and the JSON row limit. |
sys_user sys_user_list (if available) |
READ |
Allows reading person information for valid synchronization of user fields. |
sys_db_object sys_db_object.* |
READ |
Allows retrieving the available artifact types. |
sys_filter sys_filter.* |
READ |
Allows Hub to use the system defined filters provided by ServiceNow for querying. |
sys_glide_object sys_glide_object.* |
READ |
Allows Hub to get the types of each of the fields returned by the sys_dictionary table to ensure that we can submit data in the correct format. |
sys_journal_field sys_journal_field.* See additional details below |
READ CREATE |
Allows reading of comments and work notes. |
sys_attachment See additional details below |
READ |
Allows retrieving metadata related to attachments (e.g. author, creation date). |
core_company |
READ |
Allow tables extending from Task to list options for the 'Company' field. |
io_set_item sc_cat_item item_option_new sc_item_option_mtom sc_item_option |
READ |
Allows Hub to retrieve Catalog Variables and Catalog Variable Sets. Note: These permissions are only required if synchronizing the "Requested Item" artifact as that is the only artifact containing Catalog Variables and Catalog Variable Sets. |
label label.* |
READ |
Allows Hub to retrieve tag options - muti select fields. |
label_entry |
READ |
Allows Hub to retrieve tag association with artifacts - muti select fields. |
Finally, assign this role to the user which Hub will be configured to use.
In addition to the user having permission to access the tables, the tables must be configured to allow access via web services. To allow access via web services, open the relevant table definition and switch to the Application Access tab. Make sure the Allow access to this table via web services option is checked. This access will be needed for all of the tables listed in the ACL section above, as well as any tables for artifacts to be synchronized.
Note: The default admin role has access to all the necessary tables within the ServiceNow (Service Desk) repository.
As there is very limited ability to change permissions on tables (either ACLs or granting API access), the ServiceNow Express connector takes into account the default permissions available on ServiceNow Express for a user with "admin" role. In order for the connector to work correctly (i.e., have access to the specific set of necessary tables within the ServiceNow Express repository), the user that is logged into Hub must have the “admin” role. There is no way to configure a non-admin user to have these necessary permissions.
Planview Hub: 18.3.0.20180620-b378 and later
The ServiceNow connector can detect when the Hub user does not have access to the attachments or comments of a particular table. If the user does not have the following permissions for one of these field types it will simply not expose the corresponding fields.
Attachments |
READ sys_attachment, READ sys_attachment.* |
---|---|
Comments |
READ sys_journal_field, READ sys_journal_field.* |
However, the ServiceNow permission system is very dynamic often involving row-level scripted logic that the connector does not have access to. The connector cannot guarantee that the permission detection is accurate in certain circumstances. This makes it impossible for the connector to know ahead of time if any particular comment/attachment is readable. Instead the connector infers permission based on the first comment/attachment encountered that belongs to the reference table.
This means that two unfortunate conditions are possible:
Here is what can be done to avoid these conditions in Hub integration scenarios:
Standard Authentication
Required fields:
Optional fields:
Standard Authentication (Via AWS Secrets Manager)
Overview
This authentication method uses Standard Authentication to authenticate with ServiceNow, with the actual credentials being retrieved from the customer’s AWS Secrets Manager. The application connects to AWS Secrets Manager to retrieve the username and password, and then uses those to authenticate with the ServiceNow repository via Standard Authentication.
Prerequisites
The on-premise agent should be deployed in the customer’s AWS account in the same region as the customer’s AWS Secrets Manager service that holds the Service Now credentials
The machine hosting the agent must possess IAM Role permissions to access the necessary AWS Secrets Manager secret
Customer managed keys created in AWS Key Management Service (KMS), used for encrypting secrets, should be created in the same AWS account and region
Field Explanation
AWS Secret Name
The AWS Secret Name is the title by which the secret is created on the AWS Secrets Manager console
The username and password must be created in that secret with keys “username” and “password” respectively
Below is a screenshot of an example from the AWS Console:
OpenID Connect Private Key Signed JWT Authentication
Required fields
URL for OpenID Connect credentials
The token endpoint. You can get this from the authentication servers well known configuration endpoint.
OpenID Connect client ID
The client ID registered with the authentication server.
The client must have the client credentials grant type enabled.
The client must have registered the public certificate given in the “RSA certificate and private key (.p12)” field
OpenID Connect scope
Public Certificate
A PEM encoded public certificate of the private key being used to sign JWTs included in the requests client_assertion parameter
RSA Private Key
A PEM encoded PKCS8 private key used to sign JWTs included in the requests client_assertion parameter.
Optional Fields
Key ID
The “kid” header of the JWT sent in the access token request
Resource Parameter
The Open ID Connect resource parameter sent in the access token request.
Required for versions of Microsoft AD FS prior to 2019.
Learn more about how to set up your repository in Planview Hub here.
You can set maximum attachment size on the Repository Connection screen. This will allow you to override the default maximum size of 25MB, and to flow larger attachments.
Planview Hub: 19.4.0.20190916 and later
In Planview Hub 19.4.0.20190916 and later, users can exclude encrypted attachments from attachment flow. Learn more here.
In order to be able to use this feature, the Hub user needs to have the ‘itil’ role assigned to them in ServiceNow, and access to the encryption_context used to encrypt attachments.
For information on setting up encryption contexts, click here.
The details of ‘itil’ role can be found here.
Learn more about how to configure attachment flow in Planview Hub here.
Planview Hub: 19.4.13 and later
In Planview Hub 19.4.13+, users can configure comment support through the Comment Enablement field. Comment Enablement specifies if comment support is enabled, disabled, or auto-detected based on user permissions.
To learn more about recommended permission configurations, see Comment and Attachment Permissions.
In Planview Hub 20.1+, support was added for custom comment fields in ServiceNow. To configure custom comment fields in your integration, you will need to specify the names of the fields you would like to use upon configuring your ServiceNow repository connection.
If you choose not to configure custom comment fields on the repository connection screen, default comment configuration will be used as shown below.
Custom Comment Field |
Purpose |
If all custom comment fields are blank, the following default fields will be used: |
---|---|---|
Comment (Outbound) |
Determines which field is used when flowing comments out of ServiceNow. Note: This field is required when using Inbound Custom Comment fields. |
Comments and Work Notes |
Public Comment (Inbound) |
Determines which field is used when flowing public comments into ServiceNow. Note: The Comment (Outbound) field must be specified to use this field. |
Additional Comments |
Private Comment (Inbound) |
Determines which field is used when flowing private comments into ServiceNow. Note: The Comment (Outbound) field must be specified to use this field. |
Work Notes |
Note that if only the Comment (Outbound) field and one of the Comment (Inbound) fields has a value, the unused Comment (Inbound) field will remain blank.
Default Comment Field |
Purpose |
Notes |
---|---|---|
Comments and Work Notes |
This field is used to read comments that have been created in ServiceNow. |
This field is required for comments to flow in an integration. This field must also include either Additional Comments or Work Notes. |
Additional Comments |
This field is used to create public comments in ServiceNow. |
|
Work Notes |
This field is used to create private comments in ServiceNow. |
|
Learn more about how to configure comment flow in Planview Hub here.
Planview Hub: 17.4 and later
Depending on the associated Catalog Item, each Requested Item artifact can have a different set of variables associated to it in addition to the common artifact schema that all Requested Items share.
Hub supports Catalog Item variables with a single Catalog Variables string field. The content of this field is a mapping from the variable name (not label) to string value in JSON format, however, you can enable an enhancement for Planview Hub versions: 24.2.3 and later where Hub populates the readable label for reference type variables along with sys_id for Catalog Variables and Variable Sets of type "Reference" by setting includeLabel property true.
Note: Hub does not support Catalog Variable Sets in Planview Hub versions earlier than 21.4.
You can map the variables individually from the single String field to multiple other fields using a Custom Data Transformation Extension.
This works for synchronizing variables both to and from Requested Item, though some restrictions apply:
Requested Item artifacts additionally have a Catalog Item single-select field that can be used to restrict integration scenarios to include only the Requested Items belonging to a specific Catalog Item. This may be necessary to reduce the complexity of Catalog Variable mappings.
Planview Hub: 24.2.3 and later
This system property allows users to get a readable label of the corresponding value for reference fields along with the sys_id for Catalog Variables and Catalog Variable Sets on Request Items. After adding this property, a user should expect reference-type variables to be represented as a string JSON with "label" and "id" properties.
For example:
For Cloud installations
Please contact customer care to apply this system property.
For On-Premise installations
To enable ServiceNow, include label property:
For example:
Or, if there are other existing values in that property, add it after a comma at the end:
Note: this property may be applicable for catalog variable sets as well.
Planview Hub: 21.4 and later
In Planview Hub version 21.4, support was added for the Catalog Variable Sets field.
Note that all of the limitations that apply to the Catalog Variables field also apply to this field.
There are only a few out-of-the-box reference fields that the ServiceNow connector supports by default: user, configuration item, and assignment group. The connector will not expose or retrieve any other reference fields unless you specify them on the Repository/Tool Connection screen.
Note: User, configuration item, and assignment group are supported as Fast Reference Fields by default (see details below), and must be added as Full Reference Fields in order to support retrieving and mapping field values in Hub or writing to those fields in ServiceNow.
When setting up your repository/tool connection, you will have two options for how extensively to support reference fields:
To find a sample table name, right click on the field (reference field) that you are interested in:
And then find the 'Element' line.
If you create a custom reference field that references another supported artifact type (table type), you will be able to integrate this field as an internal ARM (artifact relationship management) field and apply available relationship mappings (in Planview Hub).
Learn how to configure relationships in Planview Hub here.
If you'd like to use non-task extended tables, you will need to ensure that you have sufficient read/write permissions for the tables you'd like to use.
It is important to note that if the same table is listed in both the Enabled Non-Task Extended Tables field and the Full/Fast Reference Support field, the table will be supported as an artifact type, and any columns referencing the table will be treated as artifact links, not single selects.
Note: Formatted ID should be unique for Hub.
Setting the execution time limit too low in ServiceNow may cause errors in logs and operations. See ServiceNow documentation for more information.
For person reconciliation, the following fields are available:
Fields Used for Hub’s Default Person Reconciliation Algorithm |
Field Names for Person Reconciliation Extensions (Note that these are case sensitive) |
Label in ServiceNow |
---|---|---|
ID |
user_name |
Username |
Username |
person-username |
Username |
|
|
|
N/A |
home_phone |
Home Phone |
N/A |
sys_id |
System ID |
N/A |
phone |
Phone |
N/A |
city |
City |
N/A |
mobile_phone |
Mobile Phone |
N/A |
name |
Name |
N/A |
employee_number |
Employee Number |
N/A |
title |
Title |
Learn more about how to configure person reconciliation in Planview Hub here.
Due to third party API limitations, changes to the following fields may not trigger change detection or cause a synchronization immediately. To ensure these updates synchronize, a high fidelity full scan must occur or another qualifying change must be made to the artifact:
Note: This applies only to types which do not extend from the Task table.
Learn more about how to configure change detection and full scan intervals in Planview Hub here.
You can learn more about special features in Planview Hub here.
Feature |
Custom Type Supported? |
Applicable Hub Versions |
Applicable Repository Versions |
Default Maximum Size |
---|---|---|---|---|
Time Worked (Worklogs) Impersonation |
N/A |
|
|
|
Comments Impersonation Public/Private (Planview Hub 20.1 and later) |
N/A |
Planview Hub: All |
Any supported repository version: |
N/A |
Attachments Impersonation |
Not Supported |
Planview Hub: All |
Any supported repository version: |
25MB Learn more about maximum attachment size here. |
State Transitions (Status can flow out of and into ServiceNow as a single select field if configured business rules allow) |
N/A |
Planview Hub: All |
Any supported repository version: |
N/A |
Learn about the difference between containers and work items in Planview Hub here.
Supported Work Item Type |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
Problem |
Planview Hub: All |
Any supported repository version: |
Yes |
Incident |
Planview Hub: All |
Any supported repository version: |
Yes |
Any type extending from the Task table (including user-defined tables and any plugins - like Agile Development (SDLC) - that derive from the task table): A partial list of non-user-defined types is Note: full list is dependent on the specific ServiceNow configuration:
Task itself cannot be used in queries but its properties are used in all tables that extend it. Note there are over 150 plugins that can also have artifacts that derive from task. The Agile Development (SDLC) and PPM plugins add to supported artifact types:
|
Planview Hub: All |
Any supported repository version: |
Yes |
Learn more about containment in Planview Hub here.
Containers that can synchronize between repositories |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
N/A |
|
|
|
Containers used to define the boundary of a collection (When clicking 'Manage Projects' on a Collection) |
|
|
|
N/A (entire repository serves as container) |
Planview Hub: All |
Any supported repository version: |
N/A |
Containers used for artifact routing |
|
|
|
N/A (entire repository serves as container) |
Planview Hub: All |
Any supported repository version: |
N/A |
Note: If one field of a given type is supported, others that are also that type in theory should also work. However, sometimes there are instances in which this is not the case due to the repository. So, while we can claim support for fields at the type level, there is a chance that some specific fields of a given type will not synchronize properly.
Standard Field Type |
Does Hub support custom fields of this type? |
How is field type referenced in the repository? |
Sample Repository Fields Supported |
Particular Repository Fields NOT Supported |
---|---|---|---|---|
String |
|
String, Translated Text |
Short Description |
|
Single Select |
|
|
Choice; Reference, where the referenced table is Configuration Item, Assignment Group, User, or User Group. Customers can manually add 'Fast' or 'Full' support in repository settings. (see more in configuration settings) Urgency Severity Priority |
|
Multi Select |
|
|
Tags |
|
Boolean |
|
True/False |
Known error Active |
|
Date |
|
|
|
|
Date Time |
|
Date/Time, |
Due Date Opened Closed |
|
Duration |
|
|
|
|
Double |
|
Decimal, Currency, Price, Float, Percent |
|
|
Long |
|
Integer |
|
|
Person |
|
Reference, where the referenced table is User |
Assigned to Created by Opened by |
|
Persons |
|
|
|
|
Relationship(s) Learn how to configure relationships in Planview Hub here. |
(reference type fields to other tables) |
|
|
|
Rich Text |
(supported for all but ServiceNow Express) |
HTML, Translated HTML |
|
|
Web Links |
|
|
|
|
Other |
|
|
|
|
Category |
Limitation |
Applicable Hub Versions |
Applicable Repository Versions |
---|---|---|---|
Third Party Functional Limitation |
Duplicate Field Values In ServiceNow, users can create multiple options with the same value. If duplicate values are created, the first value returned by the repository will be the only value available for field mapping in Hub. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Encrypted Attachments Encrypted attachments are not supported by the ServiceNow API. |
Planview Hub: 20.4 and later |
ServiceNow Paris |
Third Party Functional Limitation |
Projects Because ServiceNow does not support the notion of ‘projects,' the following behaviors may be observed when using Hub:
|
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Authentication Single-Sign-On and other authentication mechanisms are not supported by the ServiceNow API. If attempting to authenticate via SSO, the ServiceNow admin will need to set the username and password directly in the tool. These credentials can be tested when accessing your server (e.g., https://yourinstance.servicenow.com/side_door.do). |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Tables Tables with no name are ignored by the connector. |
Planview Hub: All |
Any supported repository version: |
Known Defects |
HTML Sanitizer Plug-in ServiceNow's HTML Sanitizer plugin may strip HTML tags from rich text fields and those changes propagated to the target repository. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Configuration The System Property "glide.processor.json.row_limit" must be set to a value of 150 or greater. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Attachments Errors retrieving attachments (invalid credentials, deleted attachment, etc) will cause a generic error. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
State Transitions Workflow transitions will be completed even when required fields are missing values. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Configuration Either the following fields must be left as the default or the Hub user must have access to the system properties table:
|
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Comments For full comment support, artifacts must have the standard 'comments_and_work_notes' field. Dependent values for 'comments_and_work_notes' must include at least one of 'work_notes' or 'comments'. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Comments Comment ordering not guaranteed if multiple comments submitted in the same second. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Comments Errors submitting comments may result in some, but not all comments submitted for an artifact. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Impersonation Impersonation is not supported. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Configuration The JSON Web Service plugin must be activated. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Collisions Limited mid-air collision support. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Currency and Price Fields Currency and price values are set to 0 instead of being cleared. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Person Fields The ServiceNow JSON REST service does not allow person values to be set to null. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Attachments To set attachment file size limit, set the Maximum Attachment Size (MB) repository field. The default is 25MB. |
Planview Hub: All |
Any supported repository version: |
Known Defects |
Performance The connector stores all cookies which means a single session is used for all transactions. This means that only a single node in an SN cluster is used as it processes all transactions in sequence. An overloaded node may start to throw HTTP 202 or 429. Our products react by deleting cookies and retrying with a new session. |
Planview Hub: All (retry on new session) |
Any supported repository version: |
Third Party API Limitation |
Attachments Attachment filenames will convert rich text quotes and commas to normal quotes and commas. |
Planview Hub: 17.3 and later |
Any supported repository version: |
Third Party API Limitation |
Attachments Attachment creation happens in a new session. |
Planview Hub: 17.3 and later |
Any supported repository version: |