After installation of the package, three new invokers will be available in the Invokers section. Selecting an invoker from the drop-down list will open a new settings window.
Configuration Item Invoker
This package provides the functionality to request a list of configuration items from a remote system with the generic interface. A complete mapping between the name of remote value keys to the local configuration item class definitions is possible. In order to give the possibility to define all class attributes in the mapping, an advanced mapping is provided.
To use this invoker:
-
Go to the Web Service management screen.
-
Add a new web service or select an existing one.
-
Select the
ITSM::ConfigItem
invoker in the Invokers section.
For handling remote configuration items and links, an advanced mapping is provided with this package. To use this functionality select the ITSMConfigItem
in the mapping select box.
One of those advanced mapping features are static values. These make it possible to define static values for defined keys, for example setting the configuration item class for each item. These entries can overwrite data send from the remote system.
Another feature provided by the advanced mapping are transforming strings to list structures. For creating a list out of a string, a list separator can be defined, for example ;
. The separator field takes a regular expressions which make a more complex separators like ;(?:\s+)?
(a ;
optionally followed by multiple white spaces) possible.
It is possible to define where the index of the elements should take place in the configuration item structure. For this the placeholder ###INDEX###
has to be placed in the key mapping. The configuration in the screenshot would store the separated IP address list into a new interface each. If no index is defined in the mapping, the index will increase the main attribute counter, like a suffix.
The configuration item Number
attribute is used to make the logical connection between the remote data and the data stored in the OTRS database. To create and update configuration items with this invoker values for the following keys are required:
- Name
- Class
- Number
- DeploymentState
- IncidentState
The values for these keys (except Number
) can be static or provided by the remote system.
Generic Link Object Invoker
Additionally to the configuration item functionality, this package provides the functionality to link objects, like ticket to configuration items or configuration items to configuration items together. The invoker can get used to pull new links from a remote system or keep the provided links in sync and delete removed links from the OTRS database. There are no limits in linking different objects.
To use this invoker:
-
Go to the Web Service management screen.
-
Add a new web service or select an existing one.
-
Select the
Generic::LinkObject
invoker in the Invokers section.
For linking different objects together the following mapping keys need values:
- SourceClass
- SourceObject
- TargetClass
- TargetObject
- Type
The OTRS internal object ID can be provided directly with the key SourceKey
and TargetKey
or can get looked up by providing the OTRS object number with the keys SourceNumber
and TargetNumber
.
To keep the OTRS in synchronized with the remote system it is possible to select different link combinations, e.g. parent-child ticket to ticket, to get synchronized. This means if a remote link combination was removed the local link will get removed, too.
The synchronization of configuration item classes can be limited by selection the classes that should get synchronized from the list in the invoker administration view.
Configuration Item Synchronization Invoker
This package provides the functionality to synchronize configuration items between two OTRS instances using a special synchronization invoker. That invoker allows to define invokers for create, update and delete synchronizations, that gets called automatically if needed.
To synchronize configuration items between two systems, it is needed to add a web service with an invoker of type ITSM::ConfigItemSync
. This invoker is the basic (search) invoker that is used to perform ITSM object searches on the remote system to determine configuration items to be modified.
To use this invoker:
-
Go to the Web Service management screen.
-
Add a new web service or select an existing one.
-
Select the
ITSM::ConfigItemSync
invoker in the Invokers section.
It works with two steps on every sync action:
-
At first depending on the change that was made in the local system (add, update or delete a configuration item) the invoker performs a related search on the remote system to determine, if it is needed to create, update or delete a remote configuration item.
-
On the second step, a related invoker for create actions, update actions or delete actions is called, which executes the main changes on the remote system. Those invokers have to be created as well and needs to be of invoker type
ITSM::ConfigItem
to make sure the communication works properly.
See the enclosed overview of example invokers:
Within the search invoker configuration, the worker invokers to perform the changes needs to be configured separately for every action in the related drop-down menus.
If an invoker is not configured for the related action, it will be omitted. The configured invoker will be listed within every drop-down and can be selected easily for the different actions.
The different invokers needs to map their data. For this to work properly, it is recommend to use the mapping module ITSMConfigItem
, which will be described through this documentation, but in fact it is also possible to use other types of mappings like XSLT if configured properly.
Since this structure calls remote systems, it is needed to configure at least the connection credentials to access the remote CMDB.
All other configurations can be set optional, but they are not needed for the basic feature to work.
To be sure the search invoker just listens on specific events, this package extends the possibilities of the Invoker event filter feature from OTRS, that can be used to add additional conditions to the event triggers, which are configured for the search invoker. One example could be, that just configuration items of ITSM class Computer gets synchronized to the remote system.
The configuration of the remote system, that gets synchronized does not need to be special but for it needs to provide at least an operation for the search executions and a separate operation for each sync action that needs to be performed.