Creating plugins with the plugins SDK#
You can create your own plugins and install them in HCL™ Accelerate. After installing custom plugins, you can integrate them in your releases, reports, and value streams.
To create a plugin, your development environment must include the following items:
- Node.js version 12 or later
- NPM version 6 or later
- HCL Accelerate version 2.0 or later
To get started with the plugin SDK, complete the following steps:
- Download the plugin SDK. On the HCL Accelerate Plugins tab, click Download plugin sample. After the download is finished, extract the compressed file.
Build the sample plugin. In the ucv-ext-sdk-template folder, run the following commands. Additional instructions are provided in the SDK Readme.md file.
npm install npm run dist-runnable docker build . -t name:tag
namevalue can be any value that you want. The
tagvalue must represent the latest image version, or some other valid semantic version. For example,
docker build . -t testplugin:0.1.
Upload the sample plugin. On the HCL Accelerate Plugins tab, click Load plugin, and then select the Docker image that contains your plugin. To upload the image from the previous step, you specify
- Create an integration by using the sample plugin. On the Plugins tab, click Add integration.
Plugins are categorized by data collection and communication methods. Generally, plugins are designed to use one of the following communication methods.
- Webhook. These plugins use webhooks to communicate with a defined HCL Accelerate API endpoint. The webhook is used to trigger data collection events. Examples include the AppScan™, and SonarCube plugins.
- Poller. These plugins are based on an event defined by the plugin. Queries are performed to determine when to send and update data from the external service. Examples include the GitHub™, and Rally plugins.
- Parser. These plugins integrate functions to parse a specific file type and create a metric document that HCL Accelerate can display with other value stream management and portfolio views. Examples include the JUnit, and OneTest plugins.
Parent topic: Extending product functions