The Helix ALM Webhook Tester is a simple example application that is able to receive webhook notifications from Helix ALM.
This can be used for testing purposes, or as a reference for building your own service to handle Helix ALM webhook notifications.
- Helix ALM 2023.3 Server or later
This project is an example and provided as-is. Perforce offers no support for issues (either via GitHub nor via Perforce's standard support process). All pull requests will be ignored.
To build, use:
npm install
To run, use:
npm run start
If webhook signatures are configured, enter the shared secret key in the key file.
The format for the key file is <verification_method>:<key_value>. Currently supported verification methods are sha256
and sha512
.
As this project may be used as a reference utility for receiving Helix ALM webhook notifications, the following documentation will help explain how the app functions.
Initially, app.js is configured only to start the service and continue to receive webhooks until the user ends the app.
This can easily be changed by including or altering any of the functions described below.
NOTE: When calling an asynchronous function from inside a loop, ensure that await is used to prevent errors.
- Starts the service with the desired options
- Parameters
- port - the port number the app will listen on for webhook notifications (default: 3000)
- status - the status code to return to Helix ALM when it sends webhook notifications (default: 200)
- consoleOutput - whether the service should write messages and webhook notification data to the console (default: false)
- fileOutput - whether the service should write webhook notification data to a file (default: false)
- Clears out any cached webhooks
- Changes the status code that is returned to Helix ALM when receiving a webhook
- Parameters
- status - the status code to return to the sender (default: 200)
- Waits until timeout to receive a new webhook notification
- Parameters
- timeToWait - the number of milliseconds before timing out (default: 120000)
- Waits indefinitely to receive a new webhook notification
- Stops the service