API Builder Plugins

API Builder 4.0.0 introduces the concept of plugins. Plugins are regular node modules which are included in your API Builder project's package.json file just like any dependency.

API Builder detects plugins by searching for installed modules with the api-builder-plugin- prefix. These plugins can contain a mixture of different component types.

  • flow-nodes
  • schemas
  • data connectors
  • service connectors

Plugins which are released by Axway can be categorized by an additional prefix based on the components and functionality that they provide:

  • flow-nodesapi-builder-plugin-fn-
  • data connectors: api-builder-plugin-dc-
  • service-connectors: api-builder-plugin-sc-

Configuration

Most plugins are configured using the pluginConfig key inside your application config. A lot of plugins will generate a config file upon install which may look like this:

module.exports = {
  pluginConfig: {
   "api-builder-plugin-myplugin": {
      // configuration goes here
    }
  }
}

When API Builder loads plugins, the configuration specific to each plugin (identified by name) will be provided on load. Plugins may or may not require configuration, but common settings may include authentication tokens/keys and other user-specific content.

Other plugins, such as api-builder-plugin-dc-, may use a slightly different or legacy method of configuration. Check the readme of individual plugins for specific details.

Creating your own plugins

We provide a method to create your own shareable plugins which contain flow-nodes for orchestration within the flow editor. For this, you can use the axway-flow-sdk.

Local plugins

There may be cases where you want to use a plugin in your project which is not available publicly on NPM - Possibly received in the form of a .tar.gz or developed locally. 

NPM allows for local dependencies using the "file:" protocol, and as of NPM 5 will link file dependencies to preserve disk space.

  1. Extract and copy your plugin into any folder in your project, for example /plugins.
    The folder that the plugin lives in must match its package name. In this case, the plugin is called api-builder-plugin-myplugin.
  2. Navigate to the root directory of your application and run the following command to install the plugin as a local dependency.

    npm install --no-optional plugins/api-builder-plugin-myplugin

    Now, whenever you run an NPM install, the local plugin and its dependencies will be installed alongside the rest of your app's dependencies and will be available in your project.

Related Links