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.
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 |
---|---|---|---|---|---|---|---|
GET | n | collection | integrations::read | /integrations | Returns a list of integrations. | ||
POST | n | create | integrations::create | /integrations | Insert a new integrations entry. | ||
GET | y | read | integrations::read | /integrations/{id} | Returns an integrations details. | ||
PATCH | y | update | integrations::update | /integrations/{id} | Update the details of an integrations entry. | ||
DELETE | y | delete | integrations::delete | /integrations/{id} | Delete an integrations entry. |
Web Application Routes
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes |
---|---|---|---|---|---|---|
GET | n | create | create_form | integrations::create | /integrations/create | Displays a standard web form for submission to POST /integrations. |
GET | y | update | update_form | integrations::update | /integrations/{id}/update | Show the attributes details with the option to update details using PATCH to /integrations/{id} |