Integration goals
- Creation and synchronisation of tickets from monitoring
Supported versions
- GLPI version 9.1
- GLPI version 9.1.1
- GLPI version 9.1.2
- GLPI version 9.1.6
- GLPI version 9.3 (without CAS authentication, GLPI BUG on CAS + API authentication, resolved in 9.4.2)
Integration - mapping
The first column of the table represents the field in the GLPI ticket.
The second column shows the integration mapping relationship.
The third column indicates whether the field is mandatory or not from an integration point of view. Beware: It is necessary to check which GLPI fields are mandatory to create a ticket: if mandatory fields are treated as optional by the integration, it will fail.
GLPI | Rule | Mandatory |
Entity | A company / GLPI site is referenced in a entity in GLPI. The link between a GLPI entity and a company / ServiceNav site is indicated in ServiceNav in the file describing the site or company. A link will need to be configured for each ServiceNav site (there is no inheritance). Integration with the Root entity is not possible. |
yes |
Type | Value : Incident
Not displayed in the ServiceNav ticket creation form |
na |
Category | Value set and defined in the integration configuration. Optional field in the integration specific information. Enter full name: cat 1 > cat 2 > cat 3 (same display in GLPI) Not displayed in the ServiceNav ticket creation form Verify that this value exists when testing the connection on the ServiceNav web interface and when creating a ticket. |
no |
Applicant | The requester will be the user declared in the external connection in the user field. | yes |
Observer | Do not enter anything in this field if the GLPI integration allows it. | na |
Attributed to | Do not enter anything in this field if the GLPI integration allows it. | na |
Source of request | Interest = determine the rate of tickets opened since supervision. Value : Monitoring Not displayed in the ServiceNav ticket creation form Value set and defined in the integration configuration Prerequisite GLPI: define the value. Verify that this value exists when testing the connection on the ServiceNav web interface and when creating a ticket. |
yes |
Associated elements | The CI field is optional Pre-fill the field with ServiceNav host name The key is the name of the host, which is the same in ServiceNav and GLPI. If the record is found display the list of hosts on the site with this field populated with the record found. If no record is found display the host list of the entity with no pre-selected entry. Can be changed when creating the ticket in ServiceNav. |
no |
Title | For a host: Host XXX - IP address: YYY - status YYY For a service: XXX service on YYY host (IP address: YYY), status ZZZ Display in the ServiceNav ticket creation form. Can be changed when creating the ticket in ServiceNav. |
yes |
Description | For a host: Detail / description of the alert raised by ServiceNav For a service: Detail / description of the alert raised by ServiceNav Display in the ServiceNav ticket creation form. Can be changed when creating the ticket in ServiceNav. |
yes |
Opening date | calculation of the time limit for taking the incident into account. This field will not be displayed in the ServiceNav Ticket creation form. The ticket will be created by applying this value according to the check configuration:
|
na |
Status | Value : New Not displayed in the ServiceNav ticket creation form |
na |
Pre-requisites
GLPI Web Server
Authentication of the GLPI user may be integrated with (SSO): federated with an LDAP directory and automated.
This configuration is done at the web server level.
Under Apache this is possible by including an authentication module and the NTLMAuthHelper clause in the Apache configuration file.
The Rest API does not support this authentication, so it will be necessary to use Basic authentication and exclude the IP address of the SNP (making requests to the Rest API GLPI) from the built-in authentication.
Here is an example of a working Apache configuration, you can adapt :
AllowOverride All
Order allow,deny
Index Options
Allow from all
NTLMAuth on
NTLMBasicAuth on
NTLMBasicRealm xxxxx
AuthType NTLM
AuthName 'xxxxx'.
NTLMAuthHelper " /usr/bin/ntlm_auth -helper-protocol=squid-2.5-ntlmssp "
NTLMBasicAuthoritative off
require valid-user
Require local
require ip x.y.z.t
GLPI
In the GLPI menu , Configuration > General > API An API a token must be generated and the option "Activate the connection with identifiers" must be activated.
You also need to have a GLPI login and password of a user with a super-admin profile.
Warning for 9.3 and higher: Set supervisor by default (in addition to super-admin)
The supervisor profile must also have visibility of categories and sources (see GIF to activate them). On the profile set paging to maximum especially if there are many categories and/or sources (see end of GIF).
Allow access from the IP address of the ServiceNav Platform (SNP) server.
Create a sub-entity under Root Entity
To create a category, go to Configuration > Headings > Ticket Categories - Make available for tickets
==> set YES
To create a source, go to Configuration > Headings > Request Sources - Make Available for Tickets
For the integration to work go to Configuration > General > Behaviour and set the Requester field is mandatory to NoUse the GLPI templates to make it mandatory for the applicant to enter a ticket.
ServiceNav
Define Integration (In Administration > Integrations > External Connections)
- Connector: WebService GLPI
- Version: 9.1
- Module: Ticketing, Inventory
Note: During the test there is an error message (host not found) => it is a known error that does not prevent the integration from working properly.
Specific information for this external connection
app_token mandatory
source mandatory - if specified must exist in GLPI.
category optional - if specified must exist in GLPI.
For example:
{" app_token ": "wsdkiqchmavuaz9XXXXXXXXXXXXXXXXXz9g ", "category ": " " ", "source ": "Monitoring"}
- Remember to link the company with GLPI in the Organization menu.
- Check on the SNP platform in the file /usr/local/pasi/www/web/legacy/pasi.conf.php : $conf_pasi["integration_crm"] = 1;
Limitations - known errors
The GLPI Web Service reports an error when at least one ticket to be synchronized in a list no longer exists in GLPI (permanently deleted from the trash). For performance reasons, only one call to WS GLPI is made with the list of tickets. In this case, the ServiceNav integration will not update the list of tickets. Therefore, no ticket open from monitoring should be permanently deleted. A request change is open with GLPI.
http://forum.glpi-project.org/viewtopic.php?pid=331999#p331999