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

  1. Firescope sends an event to 1Gateway using the 1Gateway restful web service.
  2. 1Gateway transforms the Firescope event into a Normalized Incident
  3. 1Gateway looks up if there are any corresponding ConnectWise ticket IDs for this event data id
    1. If found, it will update the ticket. If not, it will open a new ticket.
  4. 1Gateway routes the incident to the ConnectWise sender plugin
  5. 1Gateway transforms the Normalized Incident into a ConnectWise incident
  6. The 1Gateway ConnectWise sender plugin opens or updates a ticket in ConnectWise
  7. 1Gateway persists the relation from Firescope event data id to ConnectWise ticketId


Incident picklist

  1. The 1Gateway ConnectWise poller uses the ConnectWise REST API to check for open tickets
    1. It does an incremental lookup every short interval (configurable)
    2. And a full wipe and replace lookup every long interval (also configurable)
  2. 1Gateway transforms the list of tickets into the Firescope format
  3. The 1Gateway Firescope Sender plugin uses the Firescope REST API to send the tickets to Firescope



Step-by-step

  1. Install 1Gateway, licenses and plugins
  2. Configure ConnectWise Sender plugin
  3. Configure ConnectWise Listener plugin
  4. Configure Firescope Sender plugin
  5. 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.

The ConnectWise sender plugin inserts new and updated tickets from 1Gateway into ConnectWise. Used version: release v4.6 API 3.0. Together with the ConnectWise listener, 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
BASH

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+'

The content can't be resolved. The space ReusableTextInternal is not available in your include library.



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 keyAny stringPublic key in ConnectWise
Private keyAny integerPrivate key in ConnectWise
Client idAny stringClient id in ConnectWise (used for authentication)
Default company idAny integerId 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 keyAny stringPublic key in ConnectWise
Private keyAny integerPrivate key in ConnectWise
Client idAny stringClient id in ConnectWise (used for authentication)
Conditions to filter onAny stringConditions to filter by when polling for tickets
Polling interval (in seconds)Any integerDefault 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

UsernameAny stringUsername to authenticate with
PasswordAny stringUsernames 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

UsernameAny stringUsername to authenticate with
PasswordAny stringUsernames password

Max queue size

Any integer

Size of the queue of incoming messages.

DiscardTickboxDiscard messages when queue is full.
Filter expressionValid expressionFuture use
Endpoint nameAny stringName 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.

To push data into 1Gateway, use http POST requests to the /ws/rest/send endpoint, specifying an API token on the url.

Method

POST


Request

http://localhost:8090/ws/rest/send?token=


Body

{
"element" : "myelement",
"source" : "MyPC",
"value" : 42,
"ts" : 1522831644,
"type" : "ExternalMetric"
}
CODE

The body needs to be JSON and will be parsed as one message. A mapper can be used to normalize it.


For each User an API token is generated. The API token is needed for some plugin configurations. Follow the steps below to access the API token. 
  1. Choose the option "My Account" in the Account Menu



  2. Copy the API Code and past it wherever you will need it


The Firescope Listener plugin does not require any configuration.