Micro Focus Service Manager


Introduction

ConnectALL interacts with Micro Focus Service Manager via its ReST API. 

Supported Authentication

(tick) HTTP BASIC

Supported Entities

(tick) Incident

(tick) Change

(tick) Change Task

(tick) Problem

(tick) Problem Task

(tick) Request

(tick) Request Task

(tick) Interaction

Supported Functionalities

(tick) Sync Fields

(tick) Sync Comments

(tick) Sync Attachments

(error) Sync Issue Linking

Micro Focus Service Manager Configuration

Before you create an app-link in ConnectALL, do the following configuration in Micro Focus Service Manager.

How to Add the RESTful Capability to the Service Manager User

Web URL: http://hpsm94:13080/webtier-9.40 

  1. Enter the operator in the command window and the search user to be configured in ConnectALL.



  2. Go to the Startup tab and add the capability word RESTful API in the capabilities list as shown below and save it.

How to Customize Web Service to Retrieve Field Names from Micro Focus Service Manager

  1. Open Web Services > Web Service Configuration menu.
     


  2. Create a service for extaccess. Enter extaccess in the form fields Service Name, Name & Object Name as shown in the screenshot below,



  3.  Open the RESTful tab and check whether the RESTful Enabled box is checked. Enter Resource Collection Name, Resource Name, and Unique Keys as shown in the screenshot.
  4. Open Fields tab, add the following fields with a caption.


    Field Caption
    soacaptionSOACaption
    object.nameObjectName
    action.namesActionName
    soatypeSOAType
    soafieldSOAField
    soafileSOAFile



  5. Click Add from the menu to add the custom service into Service Manager.

How to Customize Web Service to Retrieve Field Names for EntityTypes


  • Most Micro Focus Service Manager entity types use the field 'UpdatedTime' for their last update time. ConnectALL relies on this field to know which records have been modified. The ‘Interaction’ entity type, however, does not have the ‘UpdatedTime’ field but uses 'UpdateTime' instead. (Notice the missing 'd'.) Fortunately, fields can be renamed in Micro Focus Service Manager. ConnectALL recommends renaming this field on the Interaction entity, or any other entities with this issue, if any of your applinks are configured for that entity type.

  • In Micro Focus Service Manager, you can have multiple aliases for a single field. For example, the UpdatedTime and UpdateTime, assignment and AssignmentGroup, assignee.name and Assignee, resolution and solution, Update and JournalUpdates etc. are all aliases for the same underlying field.

To retrieve a specific field for the entity types from the web service, follow the below steps.

  1. Open Tailoring → Web Services →  Web Service Configuration menu.



  2. Search for the web service by Entity Type.



  3.  Select the Service to Edit and navigate to the Fields Tab.



  4. Select the Field from the list of fields available and provide a display name for the same.



  5. Save the configuration.

Use Case

  • Service Desk Agent creates an incident in Service Manager.
  • ConnectALL creates a new Bug in Jira for every incident.
  • The developer works on the reported bug and updates the status with a possible resolution.
  • ConnectALL synchronizes the status changes back to Service Manager to notify about the current resolution.

Configure Application Link

Configuration

It is required to provide a REST service URL which ideally would be running on port 13080. The configured Service Manager user must have the RESTful capability. Please refer Service Manager configuration section on this page.

Entity Mapping

Field Mapping


Adding a Service Manager field would prompt you to select the appropriate datatype of the selected field. For Select field datatype, it is necessary to choose the Values List Type (Service Manager global list type) as shown in the screenshot below. So that the values of the select field would be available on the value mapping screen.

For example: For Status field, choose Select as Data Type Mapping and Incident Status in Values List Type drop-down.

ID Field Names 

To synchronize the Id of the record, the Id field name should be in the specified name for the appropriate issue types. If the field is not available, please refer to the "How to customize web service to retrieve field names for EntityTypes" section to configure the field

Issue typeId Field Name
ChangeChangeID
ChangeTaskTaskID
IncidentIncidentID
RequestNumber
RequestTaskRequestTaskID
ProblemID
Problem TaskTaskID
InteractionCallID

Task Synchronization 

To synchronize the tasks, the Parent id field names should be in the specified format. If the field is not available, please refer the "How to customize web service to retrieve field names for EntityTypes" section to configure the field

Issue typeParent Field Name
ChangeTaskParentChange
RequestTaskParentRequestNum
Problem TaskParentProblem

HPSM Comments Support

HPSM Comments can be synced via ConnectALL by mapping the "JournalUpdates" field. In HPSM, since all the lines are treated as a normal string, it is difficult for ConnectALL to identify the comment body and the comment added datetime information. Also, few users might even try to separate the comments with a comment footer. Due to these reasons, for ConnectALL to determine the comment header information (which contains the datetime of the comment and the user information) and comment footer information (if available or configured), users need to give this information as a regex pattern during field configuration. By providing these regular expressions (regex) patterns, ConnectALL can determine the header, body, and footer (if any) and process/sync the comments accordingly.

Click on the highlighted icon against the mapped "comments' field in the Field Mapping screen.

The HPSM Comments configuration screen will look like below:

  • Comment Header - The default HPSM Comment Header pattern is provided
  • Comment Footer - By default, HPSM will not have any footer defined. Hence, the field will be empty.
  • Sample comment - This text area has the default HPSM Comment Header and Comment Body defined
  • Click on the  icon if the regex has to be changed for header/footer
  • Provide a sample comment and validate the regex provided along with the sample comment by clicking on the "Validate Sample Comment" button
  • If there is no change in the format and if you are using the default HPSM Configurations, do not change anything in the regex patterns
  • If there is a change in the regex pattern, once after changing the regex, validate the same and then click on "Save" to save the configurations

Save Comment API Limitation

Save Comment API

The Microfocus 'save comments' API will not log the activity details for the below issue types. 

  • Interaction
  • Problem
  • Request

To get around this limitation, you have to use the activity API configuration for comment processing. Find out how from here.

Comments Duplication in HPSM 

In ServiceNow–HPSM app-links, when you have mapped the Comments field in ServiceNow and JournalUpdates field in HPSM, the ServiceNow comments syncing into HPSM gets duplicated. It is due to a limitation in the HPSM application. To get around this limitation, we recommend the below provided workaround, a configuration that you can implement to resolve this issue. You have to do this configuration in the HPSM application. 

  1. Navigate to the Tailoring -> Web Services -> Web Service Configuration



  2. Search for "interaction" in the Object Name
  3. Navigate to the Expressions tab in the Interaction. The below script will be displayed



  4. Add the highlighted line to the existing script


Sample Regex Patterns

Find below some of the sample regex patterns. 

PS: These are only sample patterns to help you with the configuration.

Match StringRegex Pattern
Whitespace(\s+)
Any Character.*?
Any Repeated Characters which appears more than once(.)\1$
To identify a text which ends with END^END$
Date Pattern - MMDDYY((?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:(?:\\d{1}\\d{1})))(?![\\d])
Date Pattern - DDMMYYYY((?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])
Date Pattern - DDMMYY((?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:\\d{1}\\d{1})))(?![\\d])
Date Pattern - MMDDYYYY((?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])
Date Pattern - YYMMDD((?:(?:\\d{1}\\d{1}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d])
Date Pattern - YYYYMMDD

((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d])

Time Pattern((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?)
To identify if a string ends with : at the end(\:)$

Time Difference Configuration

To know how to calculate the time difference, and configure it in the ConnectALL UI,  read the topic Time Difference Configuration.