Firescope-ConnectWise integration
Introduction
The Firescope-ConnectWise integration allows Firescope users to escalate events as ConnectWise tickets.
Requirements
ConnectWise v4.6.
Open communication from the 1Gateway server to the ConnectWise server on the API port (usually 443).
Message flow
Event to Incident
- Firescope sends an event to 1Gateway using the 1Gateway restful web service.
- 1Gateway transforms the Firescope event into a Normalized Incident
- 1Gateway looks up if there are any corresponding ConnectWise ticket IDs for this event data id
- If found, it will update the ticket. If not, it will open a new ticket.
- 1Gateway routes the incident to the ConnectWise sender plugin
- 1Gateway transforms the Normalized Incident into a ConnectWise incident
- The 1Gateway ConnectWise sender plugin opens or updates a ticket in ConnectWise
- 1Gateway persists the relation from Firescope event data id to ConnectWise ticketId
Incident picklist
- The 1Gateway ConnectWise poller uses the ConnectWise REST API to check for open tickets
- It does an incremental lookup every short interval (configurable)
- And a full wipe and replace lookup every long interval (also configurable)
- 1Gateway transforms the list of tickets into the Firescope format
- The 1Gateway Firescope Sender plugin uses the Firescope REST API to send the tickets to Firescope
Step-by-step
- Install 1Gateway, licenses and plugins
- Configure ConnectWise Sender plugin
- Configure ConnectWise Listener plugin
- Configure Firescope Sender plugin
- Configure 1Gateway integration url in Firescope
Overview
The integration uses three plugins:
The ConnectWise listener plugin polls for tickets from a ConnectWise installation and sends them into 1Gateway. Used version: release v4.6 API 3.0. Together with the ConnectWise sender, it allows real time synchronization between several ConnectWise instances or other service desk products.
Incidents
The firescope sender collects single messages or messages in bulk from 1Gateway and sends them to Firescope. The single messages will be a single insert of an incident while the messages sent in bulk will replace all existing incidents from Firescope.
CIs
The Firescope sender sends Configuration Items (CI's) from 1Gateway into Firescope SDDM. The messages get mapped to a format that the Firescope CMDB plugin can process and converted to a JSON string that is sent to Firescope through the Ivanti REST API.
CI's are also retrieved from Firescope SDDM to create a replica collection. Pre-configured rules are used to match existing CI's in the Firescope replica to CI's in other systems. If a match is found, it is recorded in 1Gateway and updated in Firescope SDDM. If its not, a new CI is created.
Installation
First install 1Gateway and the plugins
This documentation is for the on-premise edition of 1Gateway. The SaaS edition is documented in the customer portal.
Requirements
Minimum installation requirements are:
- Java 1.8
- MySQL 8
- 2 CPU cores
- 8GB RAM
- 4GB free disk space
For a busy production system we recommend 16GB RAM and 4 CPU cores.
The UI is supported on Google Chrome and Firefox.
1Gateway is packaged in three different ways:
- as a windows installer
- as a zip file
- as a Docker image
Docker installation
To install 1Gateway as a Docker container (including mysql), run this command (docker-compose.yaml is located in the 1Gateway Root Directory):
docker-compose up
For the next steps, jump to plugin and license installation
Zip installation
To install 1Gateway from the zip file, simply extract the zip file to a folder of your choice and run the startup shell script. For the next steps, jump to plugin and license installation
Windows installation
As a user with administrator rights, run the Windows installer. The installer package for windows is called 1Gateway-2.3-[buildinfo].exe.
Run 1Gateway-2.3-buildinfo.exe
If this window appears, click on Yes
Accept the EULA
Accept the 1Gateway EULA
Select folder
Next
Install
Click on "Install"
Watch progress
Pay close attention to the progress bar as it inches to completion
Finish
1Gateway is now installed and running as a service.
Log in to 1Gateway
Launch a browser, preferably Chrome, and navigate to http://your-1gateway-server:8090. Login as user admin, password admin.
Install plugins and licenses
Make sure you have the 1gateway zip file that includes the plugin files and valid licences information ready. This file has been provided to you with the installation files.
1 - Login
Login to 1gateway, and make sure you are in "Advanced mode". If this is the first time you log in, the default user and password are both 'admin' (without the quotes).
2 - System Maintenance
Click on the menu icon and choose the option "System maintenance"
3 - Upload file
In the System maintenance view you can either drag and drop the downloaded zip file or selected it by clicking the "choose file" button.
4 - Restart
After the upload installation will be confirmed. Restart 1Gateway to ensure any locked files are updated.
Error rendering macro 'Include+'
Configure the plugins
ConnectWise Sender
Field name | Supported values | Description |
---|---|---|
ConnectWise API ticket url | Valid URL | Endpoint for the ConnectWise API (including version) |
User | Any string | Username in ConnectWise |
Public key | Any string | Public key in ConnectWise |
Private key | Any integer | Private key in ConnectWise |
Client id | Any string | Client id in ConnectWise (used for authentication) |
Default company id | Any integer | Id of the company to assign new tickets to |
To use the ConnectWise Sender together with the listener (used for synchronization) make sure that the ConnectWise endpoint is exactly the same in both listener and sender.
ConnectWise Listener
Field name | Supported values | Description |
---|---|---|
ConnectWise API ticket url | Valid URL | Endpoint for the ConnectWise API (including version) |
User | Any string | Username in ConnectWise |
Public key | Any string | Public key in ConnectWise |
Private key | Any integer | Private key in ConnectWise |
Client id | Any string | Client id in ConnectWise (used for authentication) |
Conditions to filter on | Any string | Conditions to filter by when polling for tickets |
Polling interval (in seconds) | Any integer | Default is 300 |
To use the ConnectWise Listener together with the sender (used for synchronization) make sure that the ConnectWise endpoint is exactly the same in both listener and sender.
Firescope Sender
Incidents
Field name | Supported values | Description |
---|---|---|
Firescope server | Any string | Firescope server or IP |
Firescope port number | Any integer | Firescope port number |
Username | Any string | Username to authenticate with |
Password | Any string | Usernames password |
CIs
Main configuration
Field name | Supported values | Description |
---|---|---|
Firescope server | Any string | Firescope server (IP address or Domain name). |
Firescope port number | Any integer | Firescope port number |
Username | Any string | Username to authenticate with |
Password | Any string | Usernames password |
Max queue size | Any integer | Size of the queue of incoming messages. |
Discard | Tickbox | Discard messages when queue is full. |
Filter expression | Valid expression | Future use |
Endpoint name | Any string | Name of the Firescope system (plugin identifier). |
CMDB configuration
Field name | Supported values | Description |
---|---|---|
Simulation mode | Tickbox | If in simulation mode, CIs are saved in a simulation collection and are not sent to the CMDB. |
CMDB replica collection | Any string | Name of the CMDB replica collection where CIs from the CMDB are stored. Used by matching rules to decide if there is a match between the CMDB CIs and other systems CIs. |
Outbound message processing | Tickbox | Future use |
Outbound message types | Any string | Future use |
CMDB configuration profiles
Poller profiles
Field name | Supported values | Description |
---|---|---|
CI message type | Any string | Message type of the asset polled for. These CIs are inserted in the replica collection and used for matching. |
Account | Any string | Firescope SDDM acount to poll for |
Run interval in seconds | Any integer | Interval between two poll cycles. |
Rule profiles
Field name | Supported values | Description |
---|---|---|
Message type | Any string | Message type in the replica collection to evaluate |
Rule type* | Any string | Future use |
Comma-separated list of fields | Any string | List of fields to match on. If the incoming asset has the same field value as the CI in the CMDB, it is considered the same CI. |
Priority | Any integer |
Firescope Listener
Configure Firescope to send its events to your 1Gateway instance. The url of your 1Gateway instance is of the format http(s)://[your.1gateway.server.com]:[port]/ws/rest/send?token=[your-api-token]&type=FirescopeEvent&pid=firescope.
Method
POST
Request
http://localhost:8090/ws/rest/send?token=
Body
{
"element" : "myelement",
"source" : "MyPC",
"value" : 42,
"ts" : 1522831644,
"type" : "ExternalMetric"
}
The body needs to be JSON and will be parsed as one message. A mapper can be used to normalize it.
- Choose the option "My Account" in the Account Menu
- Copy the API Code and past it wherever you will need it
The Firescope Listener plugin does not require any configuration.