Child pages
  • Integrations
Skip to end of metadata
Go to start of metadata

Introduction

The Integrations endpoint allows you to define an integration which you can then use to import and export Open-AudIT data to an external system. At present the single supported Integration type is "nmis".

Integrations are a Professional and Enterprise feature.

Integrations are being introduced in Open-AudIT 3.1.0 with a view to expand on the concept as further development is made.

How Does it Work?

You can define an integration and use it to export Open-AudIT devices to NMIS. By default only devices with their nmis_manage attribute set tyo 'y' will be exported. This is completely customisable.

For a more detailed view, see OpenAudIT-NMIS Integration.

Integrations can be scheduled like other tasks. First define your Integration, then create the task and select integration from the type dropdown.

Creating an Integrations Entry

An integration entry can be created using the web interface if the current user logged in has a role that contains the integrations::create permission. Go to menu: Manage -> Integrations -> Create Integrations.



View Integrations Details

Go to menu: Manage-> Integrations -> List Integrations.
You will see a list of integrations. You can view an integration by clicking on the blue view icon. You can also edit or delete Integrations.

Database Schema

The schema for the database is below. It can also be found in the application if the user has database::read permission by going to menu: Manage -> Database -> List Database, then clicking on the "integrations" table.

CREATE TABLE `integrations` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  `org_id` int(10) unsigned NOT NULL DEFAULT '1',
  `description` text NOT NULL,
  `type` varchar(45) NOT NULL DEFAULT 'nmis',
  `options` longtext NOT NULL,
  `last_run` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
  `edited_by` varchar(200) NOT NULL DEFAULT '',
  `edited_date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

A typical entry looks as below.

         id: 1
       name: My Test Integration
     org_id: 1
description: Just Testing
       type: nmis
    options: {}
   last_run: 2019-06-01 10:10:10
  edited_by: system
edited_date: 2019-06-01 09:00:00

API / Web Access

You can access the /integrations collection using the normal Open-AudIT JSON based API. Just like any other collection. Please see the API documentation for further details.

Access is provided as part of a roles permissions. Applications is a standard resource and can have create, read, update and delete permissions.

The API routes below are usable from both a JSON Restful API and the web interface.

API Routes

Request Method

ID

Action

Resulting Function

Permission Required

URL Example

Notes

Example Response

GETn
collectionintegrations::read/integrationsReturns a list of integrations.
POSTn
createintegrations::create/integrationsInsert a new integrations entry.
GETy
readintegrations::read/integrations/{id}Returns an integrations details.
PATCHy
updateintegrations::update/integrations/{id}Update the details of an integrations entry.
DELETEy
deleteintegrations::delete/integrations/{id}Delete an integrations entry.

Web Application Routes


Request Method

ID

Action

Resulting Function

Permission Required

URL Example

Notes

GETncreatecreate_formintegrations::create/integrations/createDisplays a standard web form for submission to POST /integrations.
GETyupdateupdate_formintegrations::update/integrations/{id}/updateShow the attributes details with the option to update details using PATCH to /integrations/{id}