A client API for accessing the OpenNMS network monitoring platform.
Information on getting started and how to use the API is in the OpenNMS Documentation.
The complete API list is available at opennms.github.io.
- install Node.js
- run
npm install -g opennms
- run
opennms --help
for a list of available commands
The CHANGELOG should always contain the complete list of changes between versions, and should always be accessible here.
OpenNMS.js follows semantic versioning.
OpenNMS.js v2.5.8 contains even more dependency updates, as well as an improvement to the monitored service model to include additional interface and node-related metadata for OpenNMS versions that support it (expected to be part of Horizon 33 and Meridian 2024).
OpenNMS.js v2.5.7 contains a bunch of dependency updates, as well as an improvement to the monitored service model to include up/down state for OpenNMS versions that support it (expected to be part of Horizon 33 and Meridian 2024).
OpenNMS.js v2.5.6 is a minor release with just dependency updates and some internal changes to the CI pipeline.
This release fixes Antora documentation versioning, and includes some minor dependency updates plus a bump to use TypeScript 5.0.
This is a code-identical release to 2.5.3, with some build cleanups under the covers.
This release contains only dependency updates and a very minor compile fix to make TypeScript happy.
This release updates a number of dependencies, notably Axios, which required a few small changes to the AxiosHTTP adapter.
2.5.1 is a small release with just dependency updates, most notably moment.js and moment-timezone, plus minor bumps to Grafana dependencies.
OpenNMS.js 2.5.0 contains a bunch of dependency updates including a move to core-js v3 for compatibility, as well as a few build system cleanups, fixes for querying SNMP interfaces by node ID and a query fix for 0-indexed enums.
This is just a rerelease to fix an issue with artifact generation.
This release includes a ton of dependency updates, as well as an enhancement to specify whether a remote OpenNMS system supports the newer, more efficient, query API for selecting resources.
This release adds support for querying SNMP interfaces, monitored services, and outages.
This release bumps a bunch of dependencies, plus it adds support for the api/v2/ipinterfaces
API.
This release adds support for some flow APIs coming in OpenNMS Horizon 28, as well as a documentation rework and tons of dependency updates.
Another small release with dependency and documentation updates and a switch (back) to npm rather than yarn.
This is a small release with some dependency updates and a fix for handling of ReST data that is missing a response.
OpenNMS.js 2.0 adds a few new APIs, contains a ton of refactoring and build system updates, and has a few small breaking changes.
- updated CLI libraries to fix/improve table output
- better, faster build system to improve generated code
- improved handling of authentication in HTTP implementations
- support for
HEAD
requests has been added to the HTTP implementations - a number of metadata objects (notably
OnmsServer
) support.equals()
for comparison now - property caching on v2 API calls is fixed when interacting with multiple servers/DAOs
- filter API now supports
orderBy
andorder
(and thealarms
CLI list command supports it) - HTTP parameters in
OnmsHTTPOptions
can now have multiple values -- for example a parameter with value[ 1, 2 ]
will serialize to&foo=1&foo=2
- The
api/Log
module now only exports a single, simplifiedlog
object;typescript-logging
was overly complicated and not really adding much in the way of value. Use.setDebug()
,.setQuiet()
, and.setSilent()
to change the logging level instead. - A number of the TypeScript APIs have been clarified to be explicitly nullable (and/or
undefined
-able) to make strict null- and type-checking validation pass. PropertiesCache
and its associated interface,ISearchPropertyAccessor
are gone. This only affects you if you have implemented custom DAOs, which is very unlikely. :)- The previously deprecated
timeout
property inAbstractHTTP
(and sub-classes) has been removed. Access theAbstractHTTP.options.timeout
property directly. - The
Client
no longer keeps a separate copy of the server object. Instead you should access thehttp.server
sub-property directly. - A number of API objects are now immutable/read-only to reduce side-effects:
OnmsAuthConfig
,OnmsEnum
,OnmsError
,OnmsHTTPOptions
,OnmsResult
,OnmsServer
,Operator
,SearchPropertyType
,ServerMetadata
,TicketerConfig
. TheOnmsHTTPOptions
andOnmsServer
objects now have builders (use.newBuilder()
to create) rather than constructors with a bunch of arguments. - The
id
property onOnmsServer
is no longer generated, it is computed based on the contents of the server object and should be repeatably equal if the contents are equal.
This release includes support for some additional flow queries, as well as a few security updates and a fix for CLI formatting.
This is a small feature release with a few changes targeted primarily to Helm (adding root cause and tags to the situation feedback API support, and support for isAcknowledged
queries on alarms).
This release contains a number of new features and a few bug fixes, including support for correlation alarms and feedback, and additional metadata for Helm 3.
This is a small release which adds support for a default timeout in GrafanaHTTP
, as well as adding X-Requested-With
headers to requests (NMS-9783).
This release adds support for telemetry (Netflow) APIs which will be introduced in OpenNMS 22.x. It also includes a number of build optimizations and updates since 1.0.
The initial official release of OpenNMS.js.
OpenNMS.js currently supports a subset of the OpenNMS ReST API:
- query alarms, events, and nodes (including complex queries against OpenNMS Horizon 21+ and Meridian 2017+)
- acknowledge, escalate, and clear alarms
- create, update, and close trouble tickets against an alarm
- create, update, and delete alarm sticky memos
- create, update, and delete alarm journal memos